极湖

无不用其“极”

Subscribe to RSS feed

Posts tagged with "Vim"

vim 大小写变换命令

,

选取区域变大写
gU

选取区域变小写
gu

例)
将一个词变大写
gUw

将两个词变大写
gU2w

将整行变大写
gU$

将光标后面的10个字符变大写
gU10l

将整个文件变大写
guGG

Windows 下 gVim 的文字拷贝/粘贴

,

vim 的标准方法,先按v,选取文字之后按 y 复制,然后按 p 或 P 粘贴。
Windows 下习惯了 Ctrl-C 和 Ctrl-V,在 gVim 下也会习惯性的用这个组合键。
如果不作设置,gVim的处理结果会让你很恼火。

因此,Windows下的gVim,有必要作以下设置:
vmap <C-C> "+y
nmap <C-V> "+gP
imap <C-V> <ESC><C-V> i

把以上代码追加到 gvimrc 文件之后,感觉顺手多了。

Vim 块操作命令

以下内容整理自《Vim 杀手级 Tip: 快速处理配对标点符号中的文本》。

对于成对符号:
''""()[]{}<>

命令:
ci di yi + 左端符号 编辑内部的字符串
ca da ya + 左端符号 编辑包括符号的字符串

写HTML的时候,
vit, vat, dit, dat, cit, cat 等命令可以操作成对 tag (如<div>...</div>) 的内容

Windows 版 gVim 之最佳UTF-8解决方案

,

在 Windows 下安装了 gVim 的官方发行版,按照网上一些方法修改 _vimrc 文件,倒腾来倒腾去,编辑utf-8或其他多字节编码文件的时候,总是有这样那样的问题。

于是找到了这个 vim UTF-8日本語版,作者提供单独的配置文件和完整的Vim压缩包,压缩包下载解压后就能使用,无须安装。经我测试,一打开utf-8文件就正常显示,打开其他编码(Shift-JIS, EUC)的文件,也不用任何其他辅助命令,就能正常显示日文。尝试打开GB2312中文编码的文件,显示乱码,没办法,这是日本人做的,不考虑中文编码的对应也是情理之中。不过,日文中文的处理方法是相通的,编码不同而已,因此我想只要修改一下配置文件,就能解决编辑中文编码(GB2312,GBK等)文件的问题。

下载链接

配置文件(包括dll)压缩包
vim-cfg.zip

解压后即可使用的压缩包
vim73-aio.zip

提示:解压后把根目录下的 _sample_vimrc 和 _sample_gvimrc 拷贝到当前用户根目录下,并改名为 _vimrc 和 _gvimrc。

几个贴心的 Vim 命令和插件

,

命令
* 向前查找当前光标处的单词
# 向后查找当前光标处的单词
% 查找匹配的括号 {} [] ()
<C-p> 自动补齐(向前查找)
<C-n> 自动补齐(向后查找)
:Ex 文件和目录浏览
gf 打开光标处的文件

插件
matchit.vim
能用 % 查找HTML、PHP中匹配的tags,例如在<tr>输入命令 % 即可查找与之匹配的</tr>。

snipMate
很多人羡慕 OS X 下面的 TextMate,有了这个插件,基本上不用再羡慕了。

The NERD tree
给 Vim 加一个漂亮的树形文件浏览器。

LookupFile
快速查找和打开文件,需要最新版的 genutils

最后补上我比较喜欢的配色方案:
molokai

以上信息整理加工自 LinuxSir.org 的这个帖子

VIM常用代码编辑命令

, ,

■折叠
zf} 使用动作命令折叠一个段落
zfi{ 折叠{}内部代码( 或 zfi}
zfa{ 折叠{}整块代码( 或 zfa}
v}zf 使用可视模式折叠一个段落
zf'a 折叠到一个标记上( 先在某一行执行 ma
zo 打开折叠
zc 关闭折叠

■块缩进
>i{ {}内部向右缩进
<i{ {}内部向左缩进
>a{ {}整块向右缩进
<a{ {}整块向左缩进

■显示/隐藏行号
:set nu
:set nonu

■插入行号
:g/^/exec "s/^/".strpart(line(".")." ", 0, 4)

■插入字符串
:%s/^/mv /g 在每一行的头部插入“mv ”

■大小写转换
guu 整行小写
gUU 整行大写

Vim7 的内置 grep 功能介绍

, ,

Vim7 在其内部集成了 grep 功能。

若要在 Vim7 内部实现类似 Linux/Unix 之 grep 命令的功能,只需使用 :vimgrep 命令。

1. 在当前目录下的所有php文件中查找包含某个字符串(如'mb_convert')的行
:vimgrep /mb_convert/ *.php

2. 用 j 标志查找并打开最初匹配的文件
:vimgrep /mb_convert/j *.php

3. 递归查找 (包括子目录)
:vimgrep /mb_convert/j **/*.php

查找结果会在 Quickfix 列表中显示。
:copen 命令打开 Quickfix 列表窗口。也可以加管道命令 | cwin 直接打开窗口。即:
:vimgrep /mb_convert/j **/*.php | cwin

:ccl 命令关闭 Quickfix 列表窗口。更多用法请看 :he quickfix-window

可用 :grep 代替 :vimgrep 命令。设置方法如下:
:set grepprg=internal

Vim的窗口分割

,

Vim的窗口分割命令总结如下:

:sp 上下分割窗口
:sp 文件名 编辑指定文件并上下分割窗口

:vsp 左右分割窗口
:vsp 文件名 编辑指定文件并左右分割窗口

Ctrl-w p 在窗口间切换
Ctrl-w k 移到上面窗口
Ctrl-w j 移到下面窗口
Ctrl-w l 移到右面窗口
Ctrl-w h 移到左面窗口

Ctrl-w + 扩大光标所在窗口
Ctrl-w - 缩小光标所在窗口
Ctrl-w = 使窗口大小一致

推荐两个Vim的插件

,

1.snippetsEmu
自动产生代码片段的插件。

安装:
# mkdir -p ~/.vim/after/ftplugin
# vim snippetsemu1_1.vba
:so %


使用:
编辑一个Perl文件,输入:

for<tab><tab><tab><tab>

for<tab>i<tab>100<tab><tab>

即可了解该插件的功能。

2.MiniBufExplorer
类似UltraEdit和Editplus的Tab,同时编辑多个文件的时候非常有用。

安装:
# cp minibufexpl.vim /usr/share/vim/vimcurrent/plugin

使用:
在gVim下可以用鼠标点击来切换当前编辑的文件。
在Console下,先用<Ctrl-w-k>激活MiniBufExplorer区,然后用<Tab>或<Shift-Tab>进行文件切换。

实际上,用:bn:bp即可在文件之间切换(可以在设置文件中绑定按键)。

vim新包装:cream

, ,

一个好的编辑器,能很大程度提高人们的工作效率。对于从事编写代码工作的人来说,一个得心应手的编辑器,更是必不可少。

今天看了一篇文章:《我使用过的文本编辑器及其历程》。其中提到的编辑器,大多我也用过,和作者一样,我最常用的编辑器也是 UltraEditEmEditor

今天又发现一个叫 cream 的“编辑器”,似乎不错,就下载并安装试用。装好运行,才发现这只不过是vim的一个新包装,包装的内容包括菜单、工具条、状态栏等界面元素,基本的编辑方式和快捷键则尽量向Windows的传统习惯靠拢。

看了一下 cream 的启动命令:

"C:\Program Files\Vim\vim70\gvim.exe" "-u" "C:\Program Files\vim\vim70\cream\creamrc"

不难发现,这不过是给gvim作了一些脚本,定制了gvim的界面以及行为方式,用gvim实现“Windows方式”的编辑。

对于没有用过vim的人,用cream或许会比较顺手。而对于早已习惯了vim的“模式编辑”的人,很可能适应不了cream的的编辑方式,因为你会发现i、a、c、o、dd、yy、p等命令已经失效,/、?、:等符号也不再听话。

实际上,cream证明了vim是一个非常优秀的编辑器,可定制性很强,在Windows下,vim照样有潜力可挖掘。
February 2012
S M T W T F S
January 2012March 2012
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