[VIM]VIM/GVIM使用技巧總結

       前言:作為Linux系統中一個主流的文本編輯器,VIM的功能可謂十分強大。現在對VIM使用的技巧做一個總結,不斷更新......

一、快捷鍵re-map

      1、適用場景:快速生成`uvm_info()的代碼:


      在.vimrc中,添加如下定義:

      :map uf i <Tab>`uvm_info(get_full_name(), $sformatf("",), UVM_LOW)<ESC>

      在新建的文本中,直接按快捷鍵uf即可生成代碼: `uvm_info(get_type_name(), $sformatf("",), UVM_LOW),<Tab>表示代碼開頭會有1個Tab的空白。

      :map cc :s/^/\/\//<enter>

      :map nc :s/^\/\///<enter>   

      :map sx :x!<enter>

       像Windows操作一樣使用gvim,例如製作Ctrl+A(全選)這樣的操作:

       map <C-A> ggVGY

      這樣相當於定義了兩個快捷鍵:cc ---> 注釋當前行;  nc:取消當前行的注釋。


2、按鍵綁定:

      復合命令: A,    等效命令:  $a,   功能是在行尾插入


3、好用的快捷鍵:

      guu:轉換為小寫,gUU:轉換為大寫,g~:反轉大小寫。

4、矩形操作(也叫可視模式)

      <S+v>:激活面向行的可視模式    

     <C+v>:激活面向列的可視模式

      gv:重選上次的高亮區域


5、VIM中自定義字體

     在.vimrc文件中添加如下語句: set  guifont = Monospace\ 12

     可以根據自己的喜好定義不同的字體。


二、在GVIM中自定義function,實現給文件插入固定的表頭的功能,加入下面的代碼,按快捷鍵F2就會給文件插入下面的Lines:

command Ahead : call Addheader()

function Addheader()
  call append(0, "//////////////////////////////////////////////////////////////////////")
  call append(1, "//                          Design Information                      //")
  call append(2, "//////////////////////////////////////////////////////////////////////")
  call append(3, "//Organization : Company,Division")
  call append(4, "//Project: ")
  call append(5, "//Copyright 2017 (c)")
  call append(6, "//////////////////////////////////////////////////////////////////////")
  call append(9, "/// Main Procedures:")
  call append(12, "/// @file")
  call append(13, "/// @par $Id: $")
  call append(14, "/// @par $Author: $")
  call append(15, "/// @par $Change: $")
  call append(16, "/// @par $DateTime: $")
  call append(17, "//////////////////////////////////////////////////////////////////////")
  call append(18, "")
endfunction

map <F2> : call Addheader() <CR>:13<CR>o

7、自動折行:

      set wrap

      set textwidth=120

      set formatoptions+=mM

      在.vimrc中加入上述設定后,選中已經存在的未斷行的對象,按快捷鍵:gq即可實現120字符斷行(折行)。

8、《Vim实用技巧》高清完整版PDF,欢迎大家下载阅读学习:http://download.csdn.net/download/yahooding/8376925?utm_source=blogseo


工作中常用的vim技巧:

CTRL+N      自动扩展字符串  

*:  自动查找鼠标位置当前的字符串

gf:   (go to file)显示光标处的文件

:b1(bn)返回前一次的显示

 

统计单词数:  :%s/word/&/g    其实就是原词替换原词会做成功统计

 

可以定义快捷键简化,格式为:

:map 快捷键 执行命令

如定义快捷键Ctrl+P为在当前行行首添加“#”注释,可以执行:

:map ^P I// <Esc>

“^P”为定义快捷键Ctrl+P, “I//”就是此快捷键要触发的动作,“I”为在光标所在行行首插入,“//”为要输入的字符,“”表示退回命令模式,“<Esc>”要逐个字符键入,不可直接按键盘的“Esc”键。执行成功后,直接在任意需要注释的行上按“Ctrl+P”就自动会在行首加上“//”号了非常方便。

如果要取消此快捷键,只需输入命令:

:unmap ^P

:map <F5> i{<Esc>ea}<Esc>
在这个命令中:map是vi中的命令,而F5则是说将下面的命令与F5键绑定,后面的则是具体的命令内容,i{<Esc>是说插入字符{,然后退回到命令状态。
e是移到单词的结尾处,a}<Esc>则是增加字符}然后退至命令状态。
在我们做过这样的工作以后我们就可以来执行我们的命令了,我们将光标定位在一个单词上,例如amount,按下F5键,我们就会发现这时就变成了{amo
unt}的形式。

 

命令“ab”

:ab 替代符 原始信息

示例如下::ab sammail [email protected]

执行之后,在输入模式任何地方录入“sammail”,再敲任意字母符号或者回车空格,咔嚓一下,利马就变成“[email protected]”,那真是相当的方便啊!

 

:! command

任何命令的结果导入到当前编辑文件中,格式为:

:r !命令

 

配置文件.vimrc
前面提到的快捷键、ab命令等的应用,设置后只在当前编辑文件中有效,如果想让它永久生效需要编辑用户宿主目录下的.vimrc文件,如你是root用户,则编辑/root/.vimrc(此文件默认不存在)。
写入你常用的设置命令即可,如:

:set nu

:map ^M [email protected]

:ab sammail [email protected]

以后就永久生效了。

发布了140 篇原创文章 · 获赞 81 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/gsjthxy/article/details/88410151