一、vim配置
1、 创建vim的配置文件(.vimrc)
vim ~/.vimrc
2. 在.vimrc中,根据自己的习惯,添加控制指令,使vim更高效
"Highlight all search pattern matches
set hls
"Map F12 to create ctags index in current directory
map <F12> :!ctags -R <CR><CR>
"A shotcut to execute the grep command
map mg :!grep
"change the comment color
hi Comment ctermfg=6
- 解释如下
set hls,看代码时,使用‘/’或者‘#’搜索指定的关键字时,高亮得到的所有结果
map :!ctags -R ,重映射F12键,这样可以一键在当前目录下创建ctags的索引
map mg :!grep,一个执行grep命令的快捷方式。编写、查看代码时,敲击’mg’两个字母,即可调出
hi Comment ctermfg=6,看代码时,默认的注释颜色为深蓝色,看着太吃力了,改为浅蓝色,就好看多了
3、 其它技巧
阅读代码时,如果使用ctags命令创建了索引,将光标移至指定的函数上,CTRL+]会跳转到第一个匹配的定义处,g]会列出所有匹配的定义,CTRL+t返回上一个界面
‘shift + k’,vim内置的按键映射(:! man xxx),用于调用man命令,查看光标所在位置的帮助文档
vim配置
set nu
set tabstop=4
set smartindent "智能的选择对齐方式"
set shiftwidth=4
set softtabstop=4
set wildmenu "增强模式中的命令行自动完成操作"
set ignorecase "搜索忽略大小写"
set nocp "去掉有关vi一致性模式,避免以前版本的一些bug和局限"
set expandtab
set ai
set si
set noswapfile
set cindent
set incsearch
set autoread
set autoindent "自动缩排,如当前行是从第3个字符的位置开始编辑的,按回车后光标会自动定位在下一行第三3个字符的位置"
set hlsearch "搜索高亮"
"置粘贴模式,这样粘贴过来的程序代码就不会错位了"
set paste
"打开文件时自动回到上次编辑位置"
if has("autocmd")
autocmd BufRead *.txt set tw=78
autocmd BufReadPost *
\ if line("'\"") > 0 && line ("'\"") <= line("$") |
\ exe "normal g'\"" |
\ endif
endif
自动补全
" complete默认值为 .,w,b,u,t,i 具体含义可查看帮助:h complete
" vim补全模式设置 更多设置查看帮助 :h completeopt
set completeopt=preview,menu
常用命令
1. 普通模式
在shell中直接打vim filename就会进入普通模式。在这个状态,我们可以通过不同的按键对文件进行操作和切换到其它模式。按“:”可切换到命令模式,按i,o,a可进入编辑模。
1.1. 编辑
i
进入编辑模式。
o
在当前位置下插入一空行,进入编辑模式,光标位于空行的最开头。
a
光标后移一个字符,进入编辑模式。
v
这入可视模式,可用高亮的色块选择内容。
x or DEL键
删除当前字符,删除内容保存在缓冲区。
xp
左右字符互换。
dd
删除当前行,删除内容保存在缓冲区。
ddp
上下两行的内容互换。
d$
删除当前光标至行尾的所有内容。
dG
删除从当前行至文件未尾的所有行。
u
undo。
v
进地visual模式,移动光标可选择文本。
y
把当前行复制到缓冲区中。
p
把缓冲区中的文本插入到当前位置。
"ay
把当前行复制到a缓冲区。可用26个字母命名多个缓冲区。
"ap
把a缓冲区中的文本插入当前位置。
J
上下两行合并成一行。
.
英文句点的作用是重复执行上次执行的命令,如你按了"ap插入a缓冲区的内容,那你就可按"."来重复这个操作。
1.2. 光标移动
h,j,k,l
在vim中,除了可使用光标键在移动光标外,还有一种更方便的光标移动方式。就是使用h,j,k,l这四个键来移动光标。h控制光标左移,j控制光标下移,k控制光标上移,l控制光标右移。通过使用这四个字母键就可使我们的手不用移动即可控制光标的移动。刚开始使用可能会有些不习惯,但熟练使用后你会发觉你的输入速度提高不少,强烈建议喜欢vim的朋友使用。
$
光标移动到行尾。
G
光标移动到文档末尾。
H,L
H控制光标移动到当前屏幕头,L控制光标移动到当前屏幕尾。
{,}
{控制光标上移一个段落,}控制光标下移一个段落
2. 编辑模式
ESC
退出编辑状态。
3. 命令模式
在普通模式上按“:”就可进入命令模式,在左下屏幕我们输入一些操作指令。
:q!
不保存退出vim。
:w
保存文档,但不退出vim。
:x
保存退出vim。
:! command
运行shell命令。
:e filename
编辑/打开一个文件
:s/emacs/vim
在当前行中把第一个emacs替换成vim。
:s/emacs/vim/g
把当前行中所有的emacs替换成vim。
:%s/emacs/vim/g
在全局范围内把emacs替换成vim。
:reg
列出缓冲区内容。
:set all
列出所有参数的配置情况。
:tabe
新建一个标签页。
:tabn or :tabp
切换到下一个\上一个标签页。
:close
关闭当前标签页。
:qa
关闭所有标签页退出。