码字不易,转载请附原链,搬砖繁忙回复不及时见谅,技术交流请加QQ群:909211071

首先是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  
垂直分屏并打开新文件: :vsplit file_dir

水平分屏: :split
水平分屏并打开新文件: :split file_dir

切换打开的文件:control + 6

分屏切换下一个: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
取消注释:大写V选中需要注释的行,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

插件源码获取:

cd ~/.vim 
mkdir ~/.vim/bundle  
cd ~/.vim/bundle 

git clone https://github/VundleVim/Vundle.vim.git

mkdir ~/.vim/colors 
cd ~/.vim/colors
git clone https://github/tomasr/molokai.git
cp ~/.vim/colors/molokai/colors/molokai.vim  ~/.vim/colors 

vim ~/.vimrc

colorscheme molokai
 
"molokai设置
set t_Co=256
let g:molokai_original = 1 
let g:rehash256 = 1 
"代码颜色区分
syntax enable
syntax on
 
"tab宽度和缩进设置
set tabstop=4
set softtabstop=4
set shiftwidth=4
set nocompatible
"自动锁进和对齐
set autoindent
set smartindent
 
"开启追踪列表选择
set cscopetag
set hlsearch
"默认显示行号
set number
 
"自动加载和保存折叠
au BufWinLeave * silent mkview
au BufWinEnter * silent loadview
"括号和引号自动补全
"inoremap ' ''<ESC>i
"inoremap " ""<ESC>i
"inoremap ( ()<ESC>i
"inoremap [ []<ESC>i
"inoremap { {}<ESC>i

"右侧文件结构显示
nmap <F4> :TagbarToggle<CR>
"设置宽度为30
"let g:tagbar_width = 30
"开启自动预览(随着光标在标签上的移动,顶部会出现一个实时的预览窗口)
"let g:tagbar_autopreview = 1 
"关闭排序,即按标签本身在文件中的位置排序
let g:tagbar_sort = 0 


"开启NerdTree
map <F3> :NERDTreeMirror<CR>
map <F3> :NERDTreeToggle<CR>
autocmd VimEnter * NERDTree


set nocompatible

filetype off

set rtp+=~/.vim/bundle/Vundle.vim

call vundle#begin()

Plugin 'gmarik/Vundle.vim'
Plugin 'scrooloose/nerdtree'
Plugin 'majutsushi/tagbar'

call vundle#end()

filetype plugin indent on

安装 Vim 插件

vim
:PluginInstall

代码提示:

代码提示:F2

NERDTree快捷键:

显示目录:F3(:NERDTree)

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

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

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

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

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

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

1、安装
brew install ctags
yum intall ctags
apt-get install ctags

2、生成对应文件

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

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

4、快捷键

Ctrl+]:追踪

Ctrl+o:返回上一位置

Vim打造成GoLang开发环境:Vim打造成GoLang开发环境_程序猿的世界-CSDN博客_vim 支持golang

更多推荐

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