VIM中不易发现的强劲功能

(1) 为什么别人的方法在我这里行不通?
  估计这是最难回答的一个问题了。:-)
  不过首先应该确定你的VIM版本是否足够新,功能是否完整。使用 :version 命令查看你
  的VIM版本以及功能。一个常见的情况,如果你用的是RedHat系统,请确定安装了
  vim-enhance的rpm包,否则将是不完整的VIM。
  (2) 如何找到上次编辑的文件?
  Ctrl+O (按两次)
  (3) 如何复制粘贴?
  方法一:先ma标记当前位置为a,移动到新的位置,再y`a或者y'a复制从标记位置a到
  当前位置的内容。`和'的区别:`以字符为单位,'以行为单位。这个方法应该是所有vi
  都适用的。(如果不对请指正。)
  方法二:按v或V或Ctrl+V进入visual模式,移动光标选择一段内容,按y。三者的区别:
  v以字符为单位,V以行为单位,Ctrl+V是块选择。这个方法只在VIM下适用。
  (4) 如何在多个文件中进行替换?
  一般可以用sed或者vim来做。比如要对当前目录下的*.c文件进行替换:
  方法一:
  for i in *.c; do
   sed -i -e 's/oldvalue/newvalue/g' $i
  done
  方法二:
  vim *.c
  :argdo %s/oldvalue/newvalue/g
  (5) 如何把fold一次全部打开?
  zR 或者 :set foldlevel=999
  (6) 如何选择或者复制光标所在的单词?
  在VIM中用iw或者aw表示一个单词,两者稍有区别。
  选择光标所在的单词:viw (v进入visual模式,然后iw)
  复制光标所在的单词:yiw
  (7) 如何计数搜索的字符串?
  如果需要统计缓冲中一个模式(pattern)出现的频率,需要把 'report' 置为0,然后
  用替换命令把模式替换成它自己。Vim 报告的已替换的数目就是模式出现的次数。例:
   :set report=0
   :%s/./&/g characters
   :%s//i/+/&/g words
   :%s/^ lines
   :%s/the/&/g "the" anywhere
   :%s///&/g "the" as a word
  你可能希望复位 'hlsearch' 或者使用 ":nohlsearch"。
  (8) 如何去掉高亮搜索?
  方法一::nohlsearch
  方法二:/awertgvcxz (查找一个肯定不存在的字符串)
  设置了高亮搜索(:set hlsearch)以后,可以通过 :set nohlsearch 永久地关闭高亮
  显示,也可以通过 :nohlsearch 暂时关闭高亮显示,下次搜索时将自动恢复高亮。
  (9) 如何解决linux下gvim中文菜单乱码问题?
  以vim6.3为例
  source /usr/local/vim/share/vim/vim63/delmenu.vim
  source /usr/local/vim/share/vim/vim63/menu.vim
  光source一个menu.vim或者啥也不source都是乱码
  另外,也有网友报告说没有遇到此类问题
  (10) 如何对所编辑的文件语法高亮显示?
  需要解释的是,VI有很多变种,它本身并没有这种功能,提供这种功能
  往往是其各种衍生版本,比如说vim。下面就vim中如何语法高亮简单解释一下。
  首先,确定一下你所用的操作系统,如果是windows,那么默认的配置文件
  就可以工作了。如果还不行,可以用鼠标从syntax菜单下选择一下适合你的
  文件类型(新版本的gvim默认把文件类型选择关闭了,需要点开,然后按照
  开头字母选择类型)
  如果是linux,那么确认一下是否是redhat。如果是redhat,那么需要安装
  vim-enhanced的rpm包。这些都做了以后,可以用:syntax on来打开语法高亮。
  必要时可以用:set filetype=...来设定你的文件类型。
  如果使用图形界面,比如gvim,那么syntax on和set filetype的操作可以
  用鼠标在菜单中选择,同windows下。
  如果是在控制台中使用vim,还应当确定你的终端设置支持颜色。
  (11) 如何快速插入多行数字0-99?
  在命令行中输入以下代码,或者先把代码保存到一个外部文件,然后source这个文件:
  let i = 0
  while i < 100
   put = i
   let i = i + 1
   endw
  如果位数不足需要在前面补零,可以用Ctrl-V块选择,然后I插入0。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值