Orthogonal frequency division multiplexing with index modulation (OFDM-IM) has great potential for the implementation of high spectral-efficiency underwater acoustic (UWA) communications. However, general receivers consisting of the optimal maximum likelihood detection suffer from high computational load, which prohibits real-time data transmissions in underwater scenarios. In this paper, we propose a detection based on a vector approximate message passing (VAMP) algorithm for UWA OFDM-IM communications. Firstly, a VAMP framework with a non-loopy factor graph for index detection is formulated. Secondly, by utilizing the sparsity inherently existing in OFDM-IM symbols, a novel shrinkage function is derived based on the minimum mean square error criterion, which guarantees better posterior estimation. To reduce the errors from estimated non-existing indices, one trick is utilized to search the elements from the look-up table with the minimal Euclidean distance for the replacement of erroneously estimated indices. Experiments verify the advantages of the proposed detector in terms of low complexity, robustness and effectiveness compared with the state-of-art benchmarks.