Skip navigation.

雪城的BLOG

谁能书阁下,白首太玄经。

Posts tagged with "vim"

雪城常用的vim命令

学习 vim ,是需要经常使用的,而这些命令,是我这段时间最常用的命令,很有效率的提高的我的
文本编辑效率。也放在这里备查。个人认为,实践中运用,比起傻看厚厚的说明有效率的多。


雪城常用 vim 技巧
------------------------------------------------------------------------
A1.文本整理类
A2.格式设置
A3.编辑技巧
A4.剪贴板技巧(用 Ditto 更方便)
A5.文件浏览
A6.标志和移动
A7.杂项
------------------------------------------------------------------------


A1.文本整理类
------------------------------------------------------------------------
:g/^\s*$/d;: 删除所有空行
:%s/$/\r/g;: 每段增加一个空行
:g/^/m0;: 反转整个文档的内容
:%s/^/要加的内容/g;: 每行前增加内容
:%s= *$==;: 删除行尾空白
:v/^dd/d;: 删除行首不带 dd 的行
v/dd/d;: 删除不带 dd 的行
:g/^A\{1,2}/t$;: 把A打头的行生成文章目录(尾)
:g/^A\{1,2}/t0;: 把A打头的行在第0行生成文章目录(前)
:%s/<c-v-m>//g;: 清除文档中的 ^M (0x0D)` 字符。
<c-v-m> 是按住ctrl不松,然后以此
按v,m,然后松ctrl
:g/-------/.-10,.d;: 以-------为标记删除之前的10行
0<c-q>10j2ld;: ;:" 删除选中的10行的前两个字符,该假
设是紧凑的排版格式,不能包含空格、tab等字符
------------------------------------------------------------------------


A2.格式设置
------------------------------------------------------------------------
set nu;: 设置行号
set nobackup;: 不保存备份
set linespace=2;: 设置行距为 2
set tabstop=4;: 设定Tab键缩进 4 空格数
set shiftwidth=4;: 设定编辑器将 4 空格视为一个缩进
set iskeyword+=33-47,58-64,91-96,123-128;:以下字符将被视为单词的一部
;:分 (ASCII)
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936;:设定编码
set filetype=asm;: 用 asm 的颜色设置
colorscheme torte;: 选用 torte 配色方案
set tw=60 fo+=Mm;: 60个字符折行, fo+Mm 在中文环境中需要。
------------------------------------------------------------------------


A3.编辑技巧
------------------------------------------------------------------------
:23,25m7;: 把第23-25行移动到第7行
/fred\|joe;: 搜索fred或者joe
/.*fred\&.*joe;: 搜索同时包括fred跟joe的行
xp;: 左右交换光标处两字符的位置。
ddp;: 上下交换光标处两行的位置。
gqG;: 全文整理,按 tw 宽度
so 1.vim;: 执行存放在 1.vim 里面的命令(批命令)
J;: 上下两行合并
10dl;: 删除 10 个字符
fN;: 在当前行上跳到字符 N 的位置
tN;: 在当前行上跳到字符 N 的位置前
:noh;: 查找后取消高亮
};: 移动到本段未
2>;: 在visual模式下选中行全部缩进2个 tab
------------------------------------------------------------------------


A4.剪贴板技巧(用 Ditto 更方便)
------------------------------------------------------------------------
:reg;: 查看剪贴板
"5p;: 贴入第 5 号剪贴板
"+p;: 贴入系统剪贴板
------------------------------------------------------------------------


A5. 文件浏览
------------------------------------------------------------------------
:Ex;: 开启目录浏览器,注意首字母E是大写的
:Sex;: 在一个分割的窗口打开目录列表
------------------------------------------------------------------------


A6.标志和移动
------------------------------------------------------------------------
'.;: 跳到最后修改的行
`.;: 跳到最后修改点
:ju;: 列出跳转足迹
q/;: 搜索命令历史的窗口
:his c;: 命令行命令历史
------------------------------------------------------------------------


A7.杂项
------------------------------------------------------------------------
"ayy@a;: 把当前行作为一个Vim命令来执行
sp 1.txt;: 水平分割窗口打开 1.txt ( vs 垂直打开)
?http://www.vim.org/;: 利用 ? 来绕过转义符查找
-----------------------------------------------------------------------

vim 简单的几个正则表达式

vi 命令 作用

:%s/ */ /g 把一个或者多个空格替换为一个空格。
:%s/ *$// 去掉行尾的所有空格。
:%s/^/ / 在每一行头上加入一个空格。
:%s/^[0-9][0-9]* // 去掉行首的所有数字字符。
:%s/b[aeio]g/bug/g 将所有的bag、beg、big和bog改为bug。
:%s/t\([aou]\)g/h\1t/g 将所有tag、tog和tug分别改为hat、hot和hug(注意用group的用法和使用\1引用前面被匹配的字符)。

vim vim技巧g的用法

新的一年到了,居然已经很久没有更新我的 blog 。呵呵,都是那个预算害的。好了,今年的计划是学习 linux 的同时,也学习 VB2005 / C# 2005 ,毕竟我还是有很多的工作是在 win 下完成的。先来一个vim 的技巧吧,vim 真的是在使用中逐渐喜欢和习惯。

1. 生成目录:只要一条命令:
:g/( d {1,2})/t$
这样就生成了正序的目录(在文章最后)。或者,
:g/( d {1,2})/t0
这样生成了逆序的目录(在文章开头)。

2. 上述应用引申一下,
你也可以打开比如 神雕侠侣.txt
执行:g/雪城说/m$
把雪城说的话都整理在文章最后。

3. 文中的-----------是如何输入的?
72i-<esc>
就这么简单啊

4. 再引申一下g的用法
:g/^/m0
把整个文件的行顺序倒过来。
:g/^/pu _
则可以在行间插入空行




December 2009
S M T W T F S
November 2009January 2010
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31