vim使用小技巧日志

一、vim批量添加删除注释的方法

方法1:

在编写代码的时候经常要注释一大段代码,一行行的注释当然是最傻的方法了,在vim里面可以这样做, 移到要开始注释的那行,Ctrl+v进入可视化列选择模式,移到光标到最后需要注释的行(注意,如果你知道行号,可以使用行号G(大写的G)快速跳到该 行),然后按I(大写),进入插入模式,输入注释符,比如C++/C#/Java是//,然后按ESC键回到命令模式,看到奇迹发生了吧?!

反注释怎么办呢?更简单了,同样Ctrl+v进入列选择模式,移到光标把注释符选中,按下d,OK了吧?!

方法2:

替换命令

批量注释:
使用下面命令在指定的行首添加注释:
 :起始行号,结束行号s/^/注释符/g
取消注释:
 :起始行号,结束行号s/^注释符//g
例子:
在2 - 8行添加 // 注释
 :2,8s#^#//#g
在2 - 8行删除 // 注释
 :2,8s#^//##g
在10 - 20行添加 # 注释
 :10,20s/^/#/g
在10 - 20行删除 # 注释
 :10,20s/^#//g
说明

 例子中正则的分割符使用的是#号,如果匹配// 那么使用 #作分隔符这样不需要对/作转义处理,节省输入次数


二、vim安全编辑远程文件

通常, 系统管理员的工作就是在远程系统上对文件的配置进行各种各样的编辑。 一般来说,系统管理员需要远程登陆服务器,调试文件,编辑并且保存,然后退出。我们可以使用vim完成同样的任务,这种方法更加简便、迅捷,并且不需要远程登陆。这里假设有SSH权限。  
  
例如,编辑文件 /home/joe/somesite.com/html/index.php,可以使用代码:
$ vim scp://joe@host//home/joe/somesite.com/html/index.php
使用命令 scp 下载文件, 用vim 在本地编辑并且保存这个文件,最后回传到远程服务器。 这个命令的基本的句法是:
$ vim scp://user@host/[path_to_file]
请注意,(/)符号应放在主机名和文件名之间。 当需要文件路径时,
可用双斜线(//)。例如,文件是在本地路径, 语句则可以缩写为:
$ vim scp://joe@host/~/somesite.com/html/index.php
如果经常使用这样的语句, 可以用 wrapper shell script 。会使录入更加简单。如下语句:
#!/bin/sh
vim scp://joe@host/${1}
如果使用这段程序,
而且使用~字符来代替主目录,要保证把文件名放在括号内,否则,shell将会扩展主目录,并且传到已经扩展的主目录上。这样本机的目录是:/users
/joe,而远程服务器的目录则是:/home/joe。否则将会引起系统混乱。可以将shell script 放到路径的某一段,然后执行。例如:
lt;code>
$ vimhost "~/somesite.com/html/index.php"



三、vim插入模式下的快捷操作 

    一般使用Vim时都在正常模式下,但如果知道几个专门用于插入模式下的快捷命令,会感觉更快捷一些。参考:help insert-index,事实上插入模式下的自动补全功能,那个才真正给力。 调整缩进      在插入模式下如果希望调整行的缩进,可以<Esc>返回正常模式,>或者<调整缩进,然后使用i或者a返回插入模式下,要按3次键,下面的组合键能够实现在插入模式下的缩进调整,每次调整一个shiftwidth宽度。这个尤其用在写if之类的缩进结构时候,很方便。   CTRL+D 减少缩进    CTRL+T 增加缩进  复制相邻行的内容      写东西的时候经常出现相邻两行的内容很想近的情况,你可以用复制粘贴功能,也可以直接一个字符一个字符地复制。 CTRL+Y 复制上一行的相同列的字符 CTRL+E 复制下一行的相同列的字符 举个实际的例子,比如一行内容是: num1 is 数字      在这一行下方新增加一个空白行(插入模式下在行尾回车或者正常模式下按o),光标在num1的n正下方,这时候按3下<ctrl+y>,num被复制到当前位置,输入数字2后继续<ctrl+y>,空格和汉字也能够正确被一个一个地复制下来。 粘贴剪贴板      在插入模式下<CTRL+R> {0-9a-z"%#*:=}能够插入剪贴板的内容,如果想临时查看各个剪贴板的内容,可以使用<ctrl+o>:reg<回车>,会显示出各个剪贴板的内容。当然输入这个命令很麻烦,做个快捷键吧,把下面这句放到你的vimrc里面,当然F3可以换成其他功能键,这样你在插入模式下就可以按F3列出所有剪贴板的当前内容,然后<CTRL+R>剪贴板名称吧,这样做的好处是粘贴完仍然在插入模式下。imap <F3> <c-o>:reg<cr> 

快速移动光标       插入模式下快速移动光标的命令不太多,除了<Home>、<End>到行首、行尾之外,也可以以单词为单位移动,总比一个字符一个字符移动快一点。 <Shift+Left>或<Ctrl+Left> 光标左移一个单词  <Shift+Right>或<Ctrl+Right> 光标右移一个单词  快速删除      默认情况下Vim在插入模式下只提供了向左删除的快捷键,用不用你自己看着办吧。 CTRL+W 删除光标左侧的单词CTRL+U 删除光标左侧的行 

移动光标我看了下是在shell时候有用的.

四、设置默认打开wmtoggle

au VimEnter * :WMToggle


五、vim打印操作

:echo $VIMRUNTIME


六、替换命令





** 输入 :s/old/new/g 可以替换 old 为 new。**

  1. 请将光标移动到本节中下面标记有 ---> 的那一行。

  2. 输入 :s/thee/the <回车> 。请注意该命令只改变光标所在行的第一个匹配
     串。

  3. 输入 :s/thee/the/g 则是替换全行的匹配串,该行中所有的 "thee" 都会被

     改变。


---> thee best time to see thee flowers is in thee spring.

  4. 要替换两行之间出现的每个匹配串,请
     输入   :#,#s/old/new/g   其中 #,# 代表的是替换操作的若干行中
                              首尾两行的行号。
     输入   :%s/old/new/g     则是替换整个文件中的每个匹配串。
     输入   :%s/old/new/gc    会找到整个文件中的每个匹配串,并且对每个匹配串
                              提示是否进行替换

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值