一篇文章教你玩转vim神器写代码

首先是vim自带的常用命令:

行号相关:

显示行号: :set number

隐藏行号: :set nonumber

修改撤销相关:

回退(相当于Ctrl+Z): u

撤销回退:ctrl+r

翻页相关:

上一页:Page Up(Win) ctrl+↑(Mac)  

下一页:Page Down(Win) ctrl+↓(Mac)

光标移动相关:

行首:Home(Win) ctrl+←(Mac)    (支持前加g)

行尾:Home(Win) ctrl+←(Mac)    (支持前加g)

回到底部:GG

回到顶部:gg

上下左右移动:上下左右(同行之间移动前加g)

移动到光标的下一个x处:fx

往前移动一个单词:w

往后移动一个单词:b

移动光标到屏幕上面:H

移动光标到屏幕中间:M

移动光标到屏幕下面:L

nG:移动光标到第n行
:n:移动光标到第n行

跳到上一个空行:shift + (
跳到下一个空行:shift + )

查找替换相关:

查找string:/string

查找关键字下一个:n
查找关键字上一个:shift + #

空格替换成,::%s/\s\+/,/g

替换每行第一个的str1为str2:%s/str1/str2

替换所有的str1为str2:%s/str1/str2/g

tab相关:

打开新tab: :Te   
tab切换:gt
:tabc       关闭当前的tab
:tabo       关闭所有其他的tab
:tabs       查看所有打开的tab
:tabp      前一个
:tabn      后一个

分屏相关:

垂直分屏: :vsplit  
水平分屏: :split
分屏切换下一个:control + ww
分屏切换:control + w + ↑/↓

选中和复制粘贴相关:

Ctrl+v:进入列模式,自由上下选中,按d删除

可视选择模式:v(按字符选择)     V(按行选择)    d:(剪贴)    y:(拷贝)    c:(剪贴并进入插入模式)

非可视选择模式:dd:(剪切当前行)    yy:(拷贝当前行)

粘贴:p

复制6~9行到12行::6,9 co 12

全部删除:按esc后,然后dG
全部复制:按esc后,然后ggyG
全选高亮显示:按esc后,然后ggvG或者ggVG 

复制相关:

添加注释:大写V选中需要注释的行, Ctrl+v进入列模式,大写I进入插入模式,输入#或//,连续按2下ESC
取消注释:ctrl+v进入列模式,选中注释符号,d删除

折叠相关:

:set foldmethod=manual  设置手工折叠

移动到括号开始后zf%折叠到对应括号

zo打开当前折叠

zi打开所有折叠

zd删除当前折叠

zD删除所有折叠

保存折叠:mkview

加载折叠:loadview

写代码相关:

Ctrl+n:代码补全

]p:和p的功能差不多,但是它会自动调整被粘贴的文本的缩进去适应当前代码的位置

%:匹配花括号,方括号,括号等。在一个括号的上面,然后按%,鼠标就会出现在匹配的另外一半括号处

>>:缩进所有选择的代码

<<:和上面类似,但是反缩进

gd:到达光标所在处函数或者变量的定义处
:set paste 粘贴代码避免格式混乱
:Set nopaste

jobs相关:

jobs:显示当前运行的jobs

Ctrl+z:显示jobs控制台

fg %n:打开id为n的job

gd %n:关闭id为n的job

 

Vundle(vim插件管理器)安装:

1、https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

2、git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/plugin/Vundle.vim

3、vim

4、配置文件添加:Plugin 'gmarik/Vundle.vim'(vim ~/.vimrc)

5、:PluginInstall、:PluginList、:PluginSearch


 

安装NERDTree:

1、vim
2、:PluginSearch tree
3、vim ~/.vimrc
4、Plugin 'fatih/vim-go'
   Plugin 'The-NERD-tree'
5、vim
6、:PluginInstall
7、:NERDTree

NERDTree快捷键:

显示目录:F3(:NERDTree)

Ctrl+H+W切换到左侧目录

Ctrl+H+L切换到右侧文件

Ctrl+W+W窗口切换(相当于Ctrl+tab)

i:新开一个窗口打开一个文件

I显示隐藏文件
m显示系统菜单(添加删除移动等)
R刷新

ctags(代码追踪)安装和使用:

1、安装

sudo apt-get install ctags (ubuntu)

yum install ctags(centos)

解压后
$ cd ctags-5.8
$ ./configure
$ make
# make install
安装结束后,使用ctags命令测试是否成功
或whatis ctags, whereis ctags等

2、生成对应文件

$ ctags -R
递归的为当前目录及子目录下的所有代码文件生成tags文件

3、在vim打开源码时,指定tags文件,才可正常使用,通常手动指定,在vim命令行输入:
:set tags=/usr/local/nginx/html/queen/tags

4、快捷键

Ctrl+]:追踪

Ctrl+o:返回上一位置

vim最终配置:

"代码颜色区分
syntax on 
 
" tab宽度和缩进同样设置为4
set tabstop=4
set softtabstop=4
set shiftwidth=4
 
set nocompatible
 
"自动缩进和对齐
set autoindent
set smartindent

"开启追踪列表选择
set cscopetag
 
"括号和引号自动补全
inoremap ' ''<ESC>i
inoremap " ""<ESC>i
inoremap ( ()<ESC>i
inoremap [ []<ESC>i
inoremap { {}<ESC>i

"自动加载和保存折叠
au BufWinLeave * silent mkview
au BufWinEnter * silent loadview

"默认显示行号
set number
 
"开启和关闭NERDTree
map <F3> :NERDTreeMirror<CR>
map <F3> :NERDTreeToggle<CR>
 
"  你在此设置运行时路径
set rtp+=~/.vim/bundle/Vundle.vim
let g:go_version_warning = 0
 
call vundle#begin()
 
"  在这里面输入安装的插件
"  Vundle 本身就是一个插件
Plugin 'gmarik/Vundle.vim'
Plugin 'fatih/vim-go'
Plugin 'The-NERD-tree'
 
" 所有插件都应该在这一行之前
call vundle#end()
 
"  filetype off
filetype plugin indent on
©️2020 CSDN 皮肤主题: 黑客帝国 设计师:上身试试 返回首页