vi 快捷键/ctags

vi 配置

syntax enable
set nu

set relativenumber
set hlsearch

set autoindent
set shiftwidth=4
set tabstop=4
set expandtab
set cursorline
let g:netrw_liststyle = 3
let g:netrw_banner = 0
let g:netrw_winsize = 25
let g:netrw_browse_split = 3

set foldmethod=indent

zc 代码折叠

zo 代码展开

ctrl-f ctrl-b //整页翻页 f=forword b=backward
ctrl-d ctlr-u //翻半页 d=down u=up

:E :Vex :Sex 打开目录

ctrl+ww    切换左右窗口

文件或目录操作
创建文件 按 % 后, 输入文件名
创建目录 按 d 后, 输入目录名
删除文件或者目录 移动到对应的目标后, 按 D
重命名文件或者目录 移动到对应的目标后, 按 R

ctags安装

sudo apt install ctags

sudo ctags -R *   //在项目中建立tags索引文件

ctrl+]                  //跳转至光标所在对象定义之处
ctrl+t                  //返回跳转前位置

常用快捷键

x 删除光标处的字符

dd 删除整行

i 在光标前插入文本

a 在光标后插入文本

o 当前行下插入新行

u 撤销最后一次修改

:e! 放弃所有修改,从上次保存开始处再编辑

:wq 保存退出

:q! 不保存退出

/pattern:从光标开始处向文件尾搜索pattern

?pattern:从光标开始处向文件首搜索pattern

 

折叠方式

set fdm=indent

zc 折叠
zC 对所在范围内所有嵌套的折叠点进行折叠
zo 展开折叠
zO 对所在范围内所有嵌套的折叠点展开
[z 到当前打开的折叠的开始处。
]z 到当前打开的折叠的末尾处。
zj 向下移动。到达下一个折叠的开始处。关闭的折叠也被计入。
zk 向上移动到前一折叠的结束处。关闭的折叠也被计入。

多行复制

6,9 co 12
复制第6行到第9行之间的内容到第12行后面。

6,9 m 12

剪切第6行到第9行之间的内容到第12行后面。

G    移到文件的最后一行
nG    移到文件的第n行
w    移到下一个字的开头
W    移到下一个字的开头,忽略标点符号
b    移到前一个字的开头
B    移到前一个字的开头,忽略标点符号
L    移到屏幕的最后一行
M    移到屏幕的中间一行
H    移到屏幕的第一行
e    移到下一个字的结尾
E    移到下一个字的结尾,忽略标点符号
(    移到句子的开头
)    移到句子的结尾
{    移到段落的开头
}    移到下一个段落的开头
0或|    移到当前行的第一列
n|    移到当前行的第n列
^    移到当前行的第一个非空字符
$    移到当前行的最后一个字符
+或return   移到下一行的第一个字符
-    移到前一行的第一个非空字符

 

在vi中添加文本
命令    插入动作
a    在光标后插入文本
A    在当前行插入文本
i    在光标前插入文本
I    在当前行前插入文本
o    在当前行的下边插入新行
O    在当前行的上边插入新行
:r file    读入文件file内容,并插在当前行后
:nr file   读入文件file内容,并插在第n行后
escape    回到命令模式
^v char    插入时忽略char的指定意义,这是为了插入特殊字符
 
在vi中删除文本
命令    删除操作
x    删除光标处的字符,可以在x前加上需要删除的字符数目
nx    从当前光标处往后删除n个字符
X    删除光标前的字符,可以在X前加上需要删除的字符数目
nX    从当前光标处往前删除n个字符
dw    删至下一个字的开头
ndw    从当前光标处往后删除n个字
dG    删除行,直到文件结束
dd    删除整行
ndd    从当前行开始往后删除
db    删除光标前面的字
ndb    从当前行开始往前删除n字
:n,md    从第m行开始往前删除n行
d或d$    从光标处删除到行尾
dcursor_command   删除至光标命令处,如dG将从当产胆行删除至文件的末尾
^h或backspace   插入时,删除前面的字符
^w    插入时,删除前面的字
 

v 进入字符可视化模式
V 进入行可视化模式
Ctrl+v 进入块可视化模式

多行注释:
将光标移动到要注释的第一行位置
按ctrl + v进入 visual block模式
按字母j,或k(或者上下移动键)纵向选中需要注释的行
按大写字母I,进入插入模式
输入注释符号,例如##(需要添加几列就输入几个)
按esc键就注释多行了。

取消多行注释
将光标移动到要取消注释的第一行第一列位置
按ctrl + v进入 visual block模式
按小写字母h或l横向选中列的个数,按小写字母j或k纵向选中行的个数(同样可以使用上下左右移动键)
按d键或者delete键就可多行取消注释。

多行行尾加逗号
ctrl+v 3j $ A ,

多行变一行
V 3j J 

 
http://www.pchou.info/linux/2016/11/10/vim-skill.html

 

 

 

 

posted @ 2018-04-02 14:00  boybai  阅读(767)  评论(0编辑  收藏  举报