vim 中级技巧合集

2车12F
 :set sm
cw 替换一个单词
        小注:“f“命令移动到光标右边的指定字符上,例如,”fx“,会把移动到光标右边的第一个’x'字符上。”F“命令则反方向查找,也就是移动到光标左边的指定字符上。


“t“命令和”f“命令的区别在于,它移动到光标右边的指定字符之前。例如,”tx“会移动到光标右边第一个’x'字符的前面。”T“命令是”t“命令的反向版本,它移动到光标右边的指定字符之后。


这四个命令只在当前行中移动光标,光标不会跨越回车换行符。


可以在命令前面使用数字,表示倍数。例如,”3fx“表示移动到光标右边的第3个’x'字符上。


“;“命令重复前一次输入的f, t, F, T命令,而”,“命令会反方向重复前一次输入的f, t, F, T命令。这两个命令前也可以使用数字来表示倍数。,则是;的反向


 批量替换列块
原始状态:
将光标指到第一行V处,然后ctrl-v选择,如下
选择完成后,接着按c键,输入你要替换后的文字,最后ESC,看看成果如下,


块选择后的〉〉


移动光标到匹配的() %
ma 标记a  通过`a 跳回
"a 代表寄存器 ‘’ayy  "ap
y d(motion) fF t T
 yw是拷贝一个单词包括空格 ye则不包括空格 它们都是从光标处开始 yaw可以整个单词


. 重复上次操作
 '. 此命令相当好使, 它移动光标到上一次的修改行.
`. 此命令相当强大, 它移动光标到上一次的修改点.


 [[              转到上一个位于第一列的“{”
 ]]              转到下一个位于第一列的“}”
 {               转到上一个空行
 }               转到下一个空行
{}为段落跳转
()为句子跳转
 yw              表示拷贝从当前光标到光标所在单词结尾的内容.
 dw              表示删除从当前光标到光标所在单词结尾的内容.
 daw              表示删除光标所在的单词,不管光标在此单词那一位置


yaB (由 yank operator 和 text-object aB 组成)这个命令会将当前光标所在的代码块({} 括起来的内容,包括花括号本身)复制到默认 register


 cw/cW 删除当前单词从光标开始的部分并进入插入模式 
cb/cB 删除当前单词从光标所在位置至单词开始的部分并进入插入模式 
dw/dW 删除当前单词从光标开始的部分但不进入插入模式 
db/dB 删除当前单词从光标所在位置至单词开始的部分但不进入插入模式y也一样


 d) 删除当前句子从光标位置开始到句末的内容 
d( 删除当前句子从光标位置开始到句首的内容
段落
d} 删除当前段落从光标位置开始到段末的内容 
d{ 删除当前段落从光标位置开始到段首的内容


 = 屏幕定位 ==
    c-e         将屏幕上滚一行
    c-y         将屏幕下滚一行
    c-u         将屏幕上滚半页
    c-d         将屏幕下滚半页
    c-b         将屏幕上滚一页
    c-f         将屏幕下滚一页


 aw        选中一个单词以及其后的空格.
iw        仅仅是选中一个单词.
aW        选中一个WORD以及其后的空格.
iW        仅仅是选中一个WORD
as        选中一个句子以及其后的空格.
is        仅仅选中一个句子.
ap        选中一个段落以及后面的空格.
ip        仅仅是选中一个段落.
a(        在括号所包括的文本内,选择直到括号的文本并包括括号.
i(        与上面的命令相类似,只是不包括括号.
a内的文本,包括
i内的文本,不包括
a[        选择[]内的文本,包括[]
i[        选择[]内的文本,不包括[]
a{        选择{}内的文本,包括{}
i{        选择{}内的文本,不包括{}


 aw命令而不使用w命令的原因就是不论光标置于一个单词的哪一个字符上,aw命令都可以选中整个单词,而w命令只是选中当前光标处和这个单词结尾之间的字符.aw表示下一个单词的前一个字符


句子,即行后面是. ) vas
段落  即空行。} vap


w 字 空格或标点符号分开
W 空格分开


替换
%整个文件
. 本行
`a 标记处开始或解释
数字
$最后一行
s 替换
g当前整行所有匹配
c替换前提示


把一个文件中的所有four 改为five
/four cwfive n . n .


操作字符+(移动命令w fx visual v文本对象aw iw )
V+文本对象 +操作符
如果是y y字符前面可以加寄存器
删除d也可以指定寄存器


 x删除当前光标下的字符("dl"的快捷命令)
X删除当前光标之前的字符("dh"的快捷命令)
D删除自当前光标至行尾的内容("d$"的快捷命令)
dw删除自当前光标至下一个word的开头
db删除自当前光标至前一个word的开始
diw删除当前光标所在的word(不包括空白字符)
daw删除当前光标所在的word(包括空白字符)
dG删除当前行至文件尾的内容
dgg删除当前行至文件头的内容
c y 以此类推


m小写字符 局部标记

m大写字符是 全局标记 这个在多文档同时编辑中比较有效

Vim使用手册 看到172


vim中的两个重要寄存器:

无名寄存器 ""  保存最近一次复制或删除的文本。就是p命令默认使用的寄存器
选择与拖放的寄存器"* "+ "~ 在Windows中这几个寄存器就是剪贴板。在Linux中它们也是剪贴板——但这几个寄存器是有所区别的。
    * //v 选择寄存器
    + //系统剪切板寄存器
        通常情况下,寄存器 + ( " + Shift+= )对应X下的剪贴板。您在其它程序中复制的内容,可以使用 "+p 粘贴到Vim中;
        您在Vim中,可以使用 "+y 将内容复制到剪贴板,再粘贴到其它程序中
    “”//p 默认使用的寄存器
    *与+的区别:
    复制的区别:
        * vim:选中就可以了
        + vim:需要"+y  其他应用程序中则右键复制
     黏贴的区别:
        * "*p
        + 直接进入系统剪贴板 在其它地方右键黏贴
        :help gui-selections
        :help x11-selection


     vim中的选择寄存器是 多个shell中的vim通用
vim中shift + insert 就是用这个寄存器"*p


    vim中的剪切板寄存器是所有应用程序通用的
vim中”+p 与其它应用程序中使用ctrl+v


    vim中的一般寄存器是不通用的
比如vim中的a b c d e f g 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值