标签归档:DailyVim

[译]VIM每日技巧:开始,中间,最后

Vim提供了很多方法在屏幕上快速移动。可能你想很快的把光标移动到屏幕的最上面,中间或是底部。在normal模式下,只要按下面的快捷键即可:
H = Home (屏幕顶部)
M = Middle (屏幕中部)
L = Last (屏幕底部)

本篇来源:Daily Vim: Text Editor Tips, Tricks, Tutorials, and HOWTOs: Home Middle Last

[译]Vim每日技巧:最后编辑位置

有些Linux发行版中是默认设置,有些不是。我喜欢打开Vim时,会自动定位于上次退出时的编辑位置。在.vimrc文件中添加下面的命令即可

au BufReadPost * if line(“‘\””) > 0 && line(“‘\””) < = line("$") | exe "normal g'\"" | endif 本篇来源:Daily Vim: Text Editor Tips, Tricks, Tutorials, and HOWTOs: Last File Location

[译]Vim每日技巧:新的man

我读了很多manpage(*nix系统的帮助系统),并且我喜欢以强大、灵活的方式读。幸运的是,Vim完全能够胜任。

我的基本桌面系统是一个现代的Linux发行版,它默认使用utf-8。我把下面的命令添加到我的bashrc文件中(实际上是zshrc,但在bash中应该同样能用)。

function man
{
/usr/bin/man $* | col -bp | iconv -c | view -c ‘set ft=man nomod nolist’ –
}

如果你用的是不支持utf-8的老系统,可以试试下面的命令:
function man
{
/usr/bin/man $* | col -b | view -c ‘set ft=man nomod nolist’ –
}

注意,上面的函数可能会修改你的shell.

本篇来源:Daily Vim: Text Editor Tips, Tricks, Tutorials, and HOWTOs: New Man

[译]Vim每日技巧-Golf

今天早上一个朋友让我写一个Vim宏,保留双引号中的内容,而删除其余的所有文本。比如文件内容像这样:
Automotive
Banking
Biotech
……
处理后,应该是这样
Automotive
Banking
Biotech
……
开始,我用下面的序列(忽略了保存宏的命令)
df”f”d$j0 (9个字符)
效果不错,不过我还想改的更短一些:
df”f”D+ (7个字符)
我想,这应该是我能想到的最短的方案了,但是:
df”wD+ (6个字符)
这个是最短的,但是我希望我是错的。

更新:
我的朋友Chris Sutter提出了另外一种方案:
di”Vp (5个字符)
或者如果你还想跳到下一行:
di”Vgp (6个字符)

网友在评论中给出的其他解决方案:
:%s/^.*”\(.*\)”.*$/\1/ (长了点,但是不需要宏)

本篇来源:Daily Vim: Text Editor Tips, Tricks, Tutorials, and HOWTOs: Golf

译注:
df”wD+这个有问题,当引号中的内容不是一个单词时,结果是错误的。

[译]Vim每日技巧-查找时忽略大小写

很多Vim用户是用:set ic和set noic来控制查找时是否区分大小写。其实可以在查找时,实时忽略大小写,只需要在要查找的字符串前加\c,比如
/\chello
将忽略大小写,查找与hello匹配的字符串。

本篇来源:Daily Vim: Text Editor Tips, Tricks, Tutorials, and HOWTOs: Insensitive Search

[译]Vim每日技巧-备份

你可以让Vim在保存任何文件前做备份。在.vimrc文件中添加
set backup “使用备份
set backupdir=/your/homedir/.vim/backup “指定保存备份文件的目录
也可以设置到临时目录
set backupdir=/your/homedir/.vim/temp “新的临时目录
注意:需要事先在.vim目录中新建该目录。

本篇来源:Daily Vim: Text Editor Tips, Tricks, Tutorials, and HOWTOs: Back It Up

[译]Vim每日技巧-使用Perl

如果你使用的vim在编译时加入了内嵌的Perl解释器,那么你就能用这个强大的语言扩展vim的功能。我通常是在vim中用Perl的正则表达式。比如你在编辑一个文件,在visual模式下选中文本,并且使用字符x替换所有的数字,用ex命令perldo很容易实现。
:perldo s/\d/x/g
请查阅http://perldoc.perl.org/perlre.html和:help perldo来获得更多信息。

本篇来源:Daily Vim: Text Editor Tips, Tricks, Tutorials, and HOWTOs: Using Perl

[译]Vim每日技巧-缩进

这是非常有用的一个功能,但是我一般只用于HTML和XML文件。

1、打开一个文件
2、输入:filetype命令,确认是否indent选项是否为ON
3、如果不是ON,使用:filetype indent on来打开
4、按gg=G(不是ex模式),使用equalprg(默认是none)过滤整个文件
5、如果想使用第三方的程序,可以设置equalprg:
:setlocal equalprg=tidy\ -quiet\ -m\ -utf8\ %
或者你想使用make而不是equalprg
:setlocal makeprg=tidy\ -quiet\ -errors\ %
这样可以直接:make

本篇来源:Daily Vim: Text Editor Tips, Tricks, Tutorials, and HOWTOs: Indent