vim

在vim中输入:Tlist(启用taglist插件)再次输入会关闭taglist插件
左右窗口切换Ctrl+ww
 
Taglist帮助
打上tags后才可以用以下命令:
ctags -R
 
在Taglist窗口按
F1:打开帮助
回车键:跳到光标所在的标记的定义处(如将光标移到main函数,按回车键)
o:新建一个窗口,跳到标记定义处
p:预览标记定义(仍然在taglist窗口)
空格:显示标记的原型(如函数原型)
u:更新标记列表(比如源文件新增了一个函数,并在保存后,可在taglist窗口按u)
s:选择排序字段(暂时我也不知道什么意思)
d:删除光标所在的taglist文件(如用vi打开了两个文件f1.c,f2.c可以删除f1.c的标记)
x:放大/缩小taglist窗口
+:展开(指标记)
-:折叠
*:全部展开
=:全部折叠
[[:将光标移到前一个文件的起点
]]:将光标移到后一个文件的起点
q:退出taglist窗口
F1:关闭帮助

-------------------------------------------------------------

移动光标

  vi可以直接用键盘上的光标来上下左右移动,但正规的vi是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格。

  按「ctrl」+「b」:屏幕往“后”移动一页。

  按「ctrl」+「f」:屏幕往“前”移动一页。

  按「ctrl」+「u」:屏幕往“后”移动半页。

  按「ctrl」+「d」:屏幕往“前”移动半页。

  按数字「0」:移到文章的开头。

  按「G」:移动到文章的最后。

  按「$」:移动到光标所在行的“行尾”。

  按「^」:移动到光标所在行的“行首”

  按「w」:光标跳到下个字的开头

  按「e」:光标跳到下个字的字尾

  按「b」:光标回到上个字的开头

  按「#l」:光标移到该行的第#个位置,如:5l,56l。

4). 删除文字

  「x」:每按一次,删除光标所在位置的“后面”一个字符。

  「#x」:例如,「6x」表示删除光标所在位置的“后面”6个字符。

  「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符。

  「#X」:例如,「20X」表示删除光标所在位置的“前面”20个字符。

  「dd」:删除光标所在行。

  「#dd」:从光标所在行开始删除#行

6). 替换

  「r」:替换光标所在处的字符。

  「R」:替换光标所到之处的字符,直到按下「ESC」键为止。

7). 回复上一次操作

  「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回复。

8). 更改

  「cw」:更改光标所在处的字到字尾处

  「c#w」:例如,「c3w」表示更改3个字

A) 列出行号

 「set nu」:输入「set nu」后,会在文件中的每一行前面列出行号。


一 打开文件:

   与第0步不同,这里介绍最近在用vi看代码需要的一些命令,用了不少时间来bing到,记下来以后省得四处找

    vi filename

    会打开文件,并停留在上次编辑的位置

 
   提高效率:

       修改代码时通常都会记得自己要修改的行数和修改字段的特征:)毕竟是出问题的代码或者经过考虑find到的,因此定位文件打开的位置可以很大的提高效率

    vi +n filename 打开文件跳转的指定行数

    vi +/xx filename 打开文件,跳转到含有内容的行

 

二 浏览

    下一页    上一页        行首     行尾       文档首页         文档末尾

    Ctrl+f   Ctrl+b          0         $             [[                   ]]

  ngg 或 :n     跳到指定的第n行,  如 :50,  跳到第50行

  跳到第一行可以直接使用gg

  H 移到屏幕顶端

  M 移到屏幕中间

  L  移到屏幕底部
  这三个命令指的是当前屏幕, 而不是指整个文档的顶端,中间,底部
 

三 编辑

    编辑,没有废话,非常非常非常喜欢vi的输入,所有想做的功能全都有了

     i   光标处插入  

     I   句首插入

     a  光标后插入

     A  句尾插入

     o  新起一行插入    

     J   下一行并入本行

   提高效率:

   :set ai 开启自动对齐,写代码比用吧~

    r  替换指定位置的字符  不会进入插入模式,替换几个字母的最完美方案,强力推荐使用

    R  替换模式

    s  删除当前字符后插入,也很常用  可以当作需要替换字符后的进入编辑模式的r :) 之前一直在用s+esc来做字符替换。。直到发现了强推的r

    cc  删除整行的内容并进行编辑

 增加vim配置:

  创建或编辑 用户目录下的.vimrc文件

  增加 set autoindent

     set softtabstop=4

  自动对齐和软tab键。 

   删除

     x 或  dl 删除当前字符

     X 或 dh 删除前一字符

     dd 删除当前行  

  d]] 删除至文档末尾

   

  拷贝粘贴 这个也是个程序员常干的事,类似的语句,拷贝下来,粘贴上三四行,再用正则改成自己需要的单词

          yw     拷贝一个单词  

        yy      拷贝一行

          nyy    拷贝n行

          yG     拷贝到文章末尾

        y1G  拷贝到文章开头

          "xnyy  拷贝n行给变量x(任意字母)   非常喜欢的功能,输出函数可以拷贝成p,这样不会不用当前复制了一段别的东西,还有回去复制输出了:)

          :reg     拷贝给哪个变量不记得了就可以用查看信息的命令~

        p      粘贴与yy命令对应

        

     拷贝选择的多行

         v 进入 visual mode 移动光标就是选中文本了。V 则是以行为单位

     y 拷贝 d 删除

 

      :s/old/new/g           轻松替换一行里面的全部old—new,如果只替换行内的第一个,去掉最后的/g,都是通用的正则了。

  如果要替换指定范围内的行数,前面简单的加上就可以了

     :80,84s/create/delete/g   其中.表示当前行,#表示最后一行

    全部替换的话,可以使用

    :%s/old/new/g

 
命令模式下:

   查找

       最常用的功能之一了,看到几十行前面的代码要去修改,但估计不出来行数的时候,可以直接看下特征,然后find~

       /xx   查找后面的xx

      ?xx      查找前面的xx    

      n  继续执行搜索

      N  反向执行搜索  

   撤销

    u   取消上次操作

   ctrl+R 恢复u的动作

 

 下面的用得比较少:

 五、 小技巧

  历史命名

  :ctrl+p      这个很显然是传统的用法了

  : ctrl+f   最近历史命令 这个是新发现的,很好用!

  将命令command的输出结果放到当前行

   :r!command   可以用于插入一些本机信息 如 :r!ifconfig eth0 grep "inet " 就把本机的IP信息直接放进了vi的文档中啦。

      显示光标下单词的man内容

  K

  显示光标下字符的Unicode的16进制值

  g8

  书签

       浏览代码时需要马克一下的时候:

      mX : X为任意字母

   代码移动

    :set sw ?    查看代码一次移动的个数

    :set sw=4  设定4位(写代码还是4位比较重要啊:)

           :le |  :ce | :ri   定位左中右

 六、 多文档编辑

     之前觉得vi的多文档编辑用着很不方便,现在接触了几个,用过了MiniBufExplorer,发现看着不是很舒服。还是使用ls比较好看一些。

  :ls  展示全部的打开文档

  :xn  切换到向下的第x个文档

  n ctrl+6 : 切换到第n个buffer

  ctrl+6  或 :e#   回到前一个编辑文件

  

七、分屏:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值