我的vim使用手册

目录

相关链接:

一、.vimrc配置

二、简单操作

命令模式

文档操作类 

多窗口

三、中阶操作

命令模式

移动光标

文本复制

删除操作

文本搜索

另存为

四、高阶操作

命令重复

光标移动

代码自动对齐

单词移动

批量替换

自动提示(自动补齐功能)

可视化选择


相关链接:

  1. 简明vim 练级攻略
  2. 给程序员的vim速查卡
  3. Taglist 插件 https://www.vim.org/scripts/script.php?script_id=273
  4. Taglist如何使用 https://www.cnblogs.com/diegodu/p/7088596.html
  5. cscope插件 https://blog.csdn.net/magiclyj/article/details/79660259
  6. 多窗口管理 https://www.cnblogs.com/shanql/articles/6048412.html

一、.vimrc配置

" taglist                                                                                                                                                                                                                                    
let Tlist_Show_One_File=1     "不同时显示多个文件的tag,只显示当前文件的
let Tlist_Exit_OnlyWindow=1   "如果taglist窗口是最后一个窗口,则退出vim
let Tlist_Ctags_Cmd="/usr/bin/ctags" "将taglist与ctags关联
let Tlist_WinWidth=40

二、简单操作

命令模式

文档操作类 

 i   进入编辑模式          Esc  进入命令模式     

  j k h l  下上左右

 a  从下一个位置进入编辑模式

 I (shift + i)  定位到行首并进入编辑模式       

A  定位到行尾并进入编辑模式

o   在当前行后插入新行并在新行出进入编辑模式  ==  光标移至行尾,回车+  i 

O  在当前行插入新行并在新行出进入编辑模式  == 光标移至行首,i,回车,上移

u 撤销上一步操作

ctrl + r 反撤销(也就是将u操作恢复回去)

x 删除当前光标的字符

dd  删除当前行(将当前行移入剪贴板)   -->    dd + 移动光标 + p 剪贴当前行到新位置

yy 复制当前行

 

 

需要加上冒号的,先输入冒号 ( : ), 然后以回车结尾

w 保存文件

q 退出

q! 退出不保存

x  保存并退出

wq 保存并退出

help + 命令  查询对应命令的帮助文档

多窗口

命令模式

Ctrl + z 将当前窗口切到后台

Ctrl + p  和 Ctrl + o  打开多个文件后,使用这两个命令来切换下一个或上一个文件

fg         恢复切到后台的程序,与Ctrl + z 组合使用方便调试

     先输入冒号( : ) , 以回车结尾

new, vnew + 文件名  纵向/横向打开新文件

e  + 文件名   打开新文件

bd  将当前文件从文件条中移除(不关闭vim)

bd + 文件名  将对应文件从文件条中移除(不关闭vim)

bn 和 bp  打开多个文件后,使用这两个命令来切换下一个或上一个文件

 

 

三、中阶操作

命令模式

移动光标

0   数字0,移动光标到行首

^   到本行第一个不是blank字符的位置(所谓blank字符就是空格,tab,换行,回车等)

$   到本行行尾

g_  到本行最后一个不是blank字符的位置

 

文本复制

光标移至33行 + 13 + y + 回车     复制33,45行内容 

光标移至33行 + y + 45 + G         复制33,45行内容

V(或v)  选择33行至45行 + y       复制33,45行内容

p                        从下一行开始粘贴复制的内容

"  [1-9]+-  n y     将n行复制进入第1-9 + 或 - 剪贴板 

"  [1-9]+-  p        将第1-9 + 或 - 剪贴板内容粘贴出来

 

删除操作

cw      替换从光标所在位置后到一个单词结尾的字符

dw      删除从光标所在位置后到一个单词结尾的字符

文本搜索

/pattern  搜索 pattern 的字符串,按n表示查找下一个,按N表示查找上一个,按回车表示结束搜索

:noh   用于搜索完后取消高亮

 

另存为

:saveas <path/to/file>  另存为<path/to/file>(路径加文件名)

 

四、高阶操作

命令重复

重复上一次命令

N <command>  重复命令N次

 

光标移动

NG  将光标定位到第N行

gg  将光标移到第一行

G  将光标移到最后一行

 

代码自动对齐

M=N  从M行到N行自动对齐,省略M表示从光标处开始

gg=G 从第一行到最后一行自动对齐

 

单词移动

w 到下一个单词的开头。(单词由字母,数字,下划线组成)

e 到下一个单词的结尾。

W  到下一个单词的开头,该单词包括一些特殊字符。

E   到下一个单词的结尾,该单词包括一些特殊字符。

%  将光标移至括号上,按%  实现匹配括号移动

*#   匹配当前光标所在单词,移动光标到下一个(或上一个)匹配单词。

 

批量替换

:N,Ms/pattern/pattern2/g       将N至M行的字符串pattern都替换成 字符串 pattern2 

:%s/pattern/pattern2/g          将所有行的字符串pattern都替换成 字符串 pattern2 

:%s/.$//g                                  全文尾部删除1个字符,可以使用上面那个带行号的,进行特定删除

:%s/^.//g                                   全文首部删除1个字符

:%s/\s\+$//g                            删除行尾多余的空格和tab符号, 其中\s\+不能写成\s+

 

可以将下面代码加入.vimrc中,自动执行

autocmd BufWritePre *.c :%s/\s\+$//e
\s匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。
\t匹配一个制表符。等价于 \x09 和 \cI。
\r匹配一个回车符。等价于 \x0d 和 \cM。
\n匹配一个换行符。等价于 \x0a 和 \cJ。

自动提示(自动补齐功能)

Ctrl + n

Ctrl + p

 

可视化选择 

v                             光标处开始行选

<C-v>                     方块状选取

V                            行选

批量注释

<C-v> + j(或k) + I(大写i) + // + Esc

 

 

 

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值