RigorosLee's Worksheet

RigorosLee

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

  一个简短的对象列表∶    

w - 从当前光标当前位置直到单字/单词末尾,包括空格。    

e - 从当前光标当前位置直到单字/单词末尾,但是 *不* 包括空格。  

$ - 从当前光标当前位置直到当前行末。

注意尝试命令大小写的不同效果

          :help w <回车>          :help c_<T <回车>          :help insert-index <回车>          :help user-manual <回车>

1.输入的 dw 时,未出现在屏幕的最后一行(屏幕右下角)。

:set showcmd

2.Vim 插件帮助文档(./vim/doc/) 在help命令下无法显示

:helptags ~/.vim/doc 生成帮助标签  (需先安装Ctags)

:help XXX.txt 查看帮助文档


3. c.vim && taglist配置步骤

配置 ~/.vimrc文件。

filetype plugin on  //c.vim需要
let Tlist_Ctags_Cmd = '/usr/local/bin/ctags' “设置ctags命令目录
let Tlist_Show_One_File = 1 "不同时显示多个文件的tag,只显示当前文件的 
let Tlist_Exit_OnlyWindow =  1 "如果taglist窗口是最后一个窗口,则退出vim 
let Tlist_Use_Right_Window = 1 “让taglist窗口在右侧显示

 

4. vim寄存器与复制粘贴的实现

     无论是vim内部抑或外部的复制([y]ank)、删除([d]elete)、粘贴([p]ut),在vim中都是借助registers(寄存器)实现的,vim共有9类寄存器:

  1. 无名(unnamed)寄存器:"",缓存最后一次操作内容;
  2. 数字(numbered)寄存器:"0 - "9,缓存最近操作内容,复制与删除有别;
  3. 行内删除(small delete)寄存器:"-,缓存行内删除内容;
  4. 具名(named)寄存器:"a - "z"A - "Z,指定时可用;
  5. 只读(read-only)寄存器:":, "., "%, "#,分别缓存最近命令、最近插入文本、当前文件名、当前交替文件名;
  6. 表达式(expression)寄存器:"=,只读,用于执行表达式命令;
  7. 选择及拖拽(selection and drop)寄存器:"*, "+, "~,存取GUI选择文本,可用于与外部应用交互,使用前提为系统剪切板(clipboard)可用;
  8. 黑洞(black hole)寄存器:"_,不缓存操作内容(干净删除);
  9. 模式寄存器(last search pattern):"/,缓存最近的搜索模式。

     详细说明须参考手册  : help copy-move

      查看寄存器内容  :reg

       在命令模式下使用"*p或者"+p的命令将已经复制或剪切到系统剪切板的外部内容粘贴进来  使用类似"*y或者"+y的命令将vim中的内容复制到系统剪切板中。

      在Ubuntu 10.04中 通过查看寄存器发现 "+p为乱码  所以请使用 "*p来粘帖

5.vim Cpp 文件署名

c.vim 提供了方便的署名方式

只要 vim XXX.cpp 就会自动在文件前部加一个署名

署名内容可以在 ~/.vim/c-support/templates/Templates 中修改

6.简体中文vimtutor

vimtutor默认使用繁体编码big5  但是后缀为zh.euc的文件编码为GBK

另一方面vimtutor脚本会优先使用utf-8编码的帮助

所以将zh.euc转换为zh.utf-8

sudo iconv -f gbk -t utf8 tutor.zh.euc -o tutor.zh.utf-8   

7.查看命令历史

在normal模式下按q:,就会打开命令行历史窗口。

在这个窗口,你可以复制或者执行命令。要回到normal模式,输入:q

 

8.常用操作命令

你可以使用“dw”命令来删除一个单词,它是命令“d”+动作“w”。还可以加上数字,如“d4w”或者“4dw”来删除4个单词。
类似的常用命令有:
x 表示 dl (删除当前光标下的字符)
X 表示 dh (删除光标左边的字符)
D 表示 d$ (删除到行尾)
C 表示 c$ (修改到行尾)
s 表示 cl (修改一个字符)
S 表示 cc (修改一整行)

dfc  --删除从当前光标位置到前向第一个字符c之间的所有字符,不能跨行删除

假设你在编辑一个HTML文件,你想删除所有的<B>标记。你把光标移到第一个“<”上,然后用df>”命令删除<B>

命令"."  -- 执行最后一个修改命令

执行最后一个修改命令(在本例中,就是“df>”)。要删除下一个<B>标记,移动到下一个<的位置,再执行“.”命令即可

 

9. 使用记录命令

先移动到第一行,接着执行如下命令:
qa 启动记录,并使用寄存器a
^ 移到行首
i#include "<Esc> 在行首输入“#include "”
$ 移到行末
a"<Esc> 在行末加上双引号“"”
j 移到下一行
q 结束记录
最后可以通过输入 @a 进行重复命令

 

10.标记

Vim允许你在文本中做标记。命令

ma

会在光标所在处做一个名为a的标记。你最多可以在文本中做26个标记{a-zA-Z}。

:marks
命令会列出所有标记的列表。
要移动到一个标记,用命令, 其中`是在键盘左上角数字一左边的那个键
`标记

要移动到一个标记所在行的行首,用命令, 其中‘是单引号
‘标记


标记在删除大量文件内容人时很有用。比如
在你想要删除的文本的开始处做标记ma
然后移动到想删除文本的末尾,用d`a删除从此位置到标记a间的内容。
注意,标记会跟着它所标记处的文本移动(比如在它之前插入或删除了东西)

11.重新打开当前文件

        :e      重新打开当前文件
        :e!     重新打开当前文件并忽略修改

posted on 2011-03-25 09:45  RigorosLee  阅读(270)  评论(1编辑  收藏  举报