今天有幸看到一篇博文,有一些vim的高级配置
在linux或者unix下面的.vimrc文件中,在其中可以添加如下片段,可以实现解释上面你说的那些高级用法
" Ctrl + K 插入模式下光标向上移动
imap <c-k> <Up>
" Ctrl + J 插入模式下光标向下移动
imap <c-j> <Down>
" Ctrl + H 插入模式下光标向左移动
imap <c-h> <Left>
" Ctrl + L 插入模式下光标向右移动
imap <c-l> <Right>
上面这4项很实用
关于其他的一些配置,可以查看如下链接:
http://www.oschina.net/code/snippet_574132_13357?p=2#comments
关于高级配置,需要懂一些shell脚本编写的知识,我不懂,由于不用linux系统了,习惯于windows系统下使用gvim,下面对我的gvim下的_vimrc文件内容配置对应的如下:
set nocompatible source $VIMRUNTIME/vimrc_example.vim source $VIMRUNTIME/mswin.vim behave mswin set diffexpr=MyDiff() function MyDiff() let opt = '-a --binary ' if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif let arg1 = v:fname_in if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif let arg2 = v:fname_new if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif let arg3 = v:fname_out if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif let eq = '' if $VIMRUNTIME =~ ' ' if &sh =~ '\<cmd' let cmd = '""' . $VIMRUNTIME . '\diff"' let eq = '"' else let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"' endif else let cmd = $VIMRUNTIME . '\diff' endif silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3 . eq endfunction " zyf自己定义的两个命令 nmap <cr> li<cr><ESC>k$hl nmap <c-o> o<ESC>k " 用空格键来开关折叠 nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')<CR> " 当文件在外部被修改,自动更新该文件 "set autoread " 常规模式下输入 cS 清除行尾空格 nmap cS :%s/\s\+$//g<cr>:noh<cr> " 常规模式下输入 cM 清除行尾 ^M 符号 nmap cM :%s/\r$//g<cr>:noh<cr> set ignorecase "搜索模式里忽略大小写 set nobackup "不生成备份文件,也就是~ set smartcase "如果搜索模式包含大写字符,不使用 'ignorecase' 选项,只有在输入搜索模式并且打开 'ignorecase' 选项时才会使用 " set noincsearch "在输入要搜索的文字时,取消实时匹配 " Ctrl + K 插入模式下光标向上移动 imap <c-k> <Up> " Ctrl + J 插入模式下光标向下移动 imap <c-j> <Down> " Ctrl + H 插入模式下光标向左移动 imap <c-h> <Left> " Ctrl + L 插入模式下光标向右移动 imap <c-l> <Right> " 每行超过80个的字符用下划线标示
上面使一些vim中自定义的一些快捷键,这样在操作的时候会更加的方便
浙公网安备 33010602011771号