04 Mar 2015

Vim 常用命令小结

光标移动

h,j,k,l = ←, ↓, ↑, →
ctrl+f = 下一页(forward)
ctrl+b = 上一页(backward)
w = 跳到下一个单词的开头
W = 跳到下一个单词(空白分隔)的开头
e = 跳到下一个单词的末尾
E = 跳到下一个单词(空白分隔)的末尾
b = 跳到前一个单词的开头
B = 跳到前一个单词(空白分隔)的开头
0 = 跳到本行行头
$ = 跳到本行行尾
^ = 跳到本行第一个非空白字符
g_ = 跳到本行最后一个非空白字符
gg = 跳到第一行
G = 跳到最后一行
[N]G = 跳到第N行
`. = 跳到最后编辑的地方
* = 向下查找当前光标所在位置的字符串
# = 向上查找当前光标所在位置的字符串
04 Feb 2015

Vim技巧——将 CapsLock 键映射成 Esc键 →

1. Linux 下将 CapsLock 转换成 Esc

作为一个 vimer,Caps Lock 键根本就是多余的,而且在键盘中的位置根本不合理,一不小心就按到了 Caps Lock,然后就出错了。Esc 又是 vim 下使用最为频繁的按键,将Caps Lock替换成Esc真是再好不过了,而且不用担心按ESC的时候按到了该死的F1。

Linux 将Caps Lock转换成Esc非常简单,只要在.profile文件最后加入下面这条语句,让linux每次开机去帮我们执行它(参考文章):

xmodmap -e 'clear Lock' -e 'keycode 0x42 = Escape'

当你不需要的时候,将这条语句删除,重启即可。

可能有人会问,这样对于连续的大写不是就不方便了吗?我们可以先用小写,然后选中该段文中,按 U,就变成大写了。对于在vim中的大写,这里还有一个小技巧推荐给大家:

"change word to uppercase, I love this very much
inoremap <C-u> <esc>gUiwea

将上面这条语句是放在.vimrc文件里的,它的作用就是在编辑状态下,按ctrl+u,将你刚刚输入的那个单词变成大写。谁用谁知道。对一个用vim 作为主要编辑器的人,有了上面两条技巧以后, Caps Lock 就是多余的了。

04 Feb 2015

Emacs vs Vim:神的编辑器和编辑器之神 →

Emacs 是神的编辑器,而 Vim 是编辑器之神。二者为何会有如此美誉,且听本文向你一一道来。

序章:神器的传说

在这个蔚蓝色的星球上,流传着两大神器的传说:据说 Emacs 是神的编辑器,而 Vim 是编辑器之神。

追求独步天下的高手和低手们争着一睹它们的风采,可看到它们朴素单薄的界面后,不禁心下怀疑:这就是神器吗?甚至有人生了轻视之心。

肤浅的人嗤之以鼻,说:什么年代了,还抱着这么老土的玩意不放,真他妈Geek!同学,请冷静下来,听我说:它们的确够老了,都几十年的寿命了,但你想想为什么,为什么这么古老的编辑器,却有越来越多的人皈依它们。

Windows 下用 UltraEdit 和 Editplus 的人质问:它们到底比 UltraEdit 和 Editplus 好在哪里?我说:不可同日而语。

连 UltraEdit 和 EditPlus 都没用过的同学问:它们就相当于 Linux 上的 Notepad 吧?我说:请你从我的眼前消失。

一些人勇敢地拾起了 Vim 或 Emacs,却发现学习曲线陡峭而漫长,于是在没发现它们的强大之前就放弃了,说:太难用了,把键盘当鼠标用的烂玩意,有什么好的?

28 Jan 2015

一些 Vim 小技巧

本文主要记录一下使用 Vim 过程中,学到的一些小技巧,以免以后忘记找不到。

插入模式下,光标移动

在插入模式下,用 Ctrl-O 进入 普通模式:

<C-o>h  move cursor left 
<C-o>l  move cursor right
<C-o>j  move cursor down
<C-o>k  move cursor up

插入模式下有用的控制键:

<C-w>   delete word to the left of cursor
<C-o>D  delete everything to the right of cursor
<C-u>   delete everything to the left of cursor
<C-h>   backspace/delete
<C-j>   insert newline (easier than reaching for the return key)
<C-t>   indent current line
<C-d>   un-indent current line
21 Jan 2015

VIM 中文编码问题

VIM 在 Linux 中的配置文件是 .vimrc,而在 Windows 中是 _vimrc。通过设置这个文件可以定制自己的 VIM 编辑器。

VIM 运行环境

VIM 运行环境设定了5个地方,其路径都列在 runtimepath 选项中,使用 set 命令查看:

:set runtimepath?

显示结果如下:

runtimepath=~/.vim,/usr/local/share/vim/vimfiles,/usr/local/share/vim/vim63,/usr/local/share/vim/vimfiles/after,~/.vim/after