08 Mar 2015

Bash 快捷键

Ctrl 键组合

ctrl+a  # 光标移到行首
ctrl+e  # 光标移到行尾
ctrl+b  # 光标左移一个字母
ctrl+f  # 光标右移
ctrl+c  # 杀死当前进程
ctrl+d  # 退出当前 Shell
ctrl+h  # 删除光标前一个字符,同 backspace 键相同
ctrl+d  # 删除光标所在字母;注意和 backspace 以及 ctrl+h 的区别,这2个是删除光标前的字符
ctrl+w  # 移除光标前的一个单词
ctrl+k  # 清除光标后至行尾的内容
ctrl+u  # 清除光标前至行首间的所有内容
ctrl+t  # 交换光标位置前的两个字符
ctrl+y  # 粘贴或者恢复上次的删除
ctrl+l  # 清屏,相当于 clear
ctrl+r  # 搜索之前打过的命令。会有一个提示,根据你输入的关键字进行搜索bash的history
ctrl+z  # 把当前进程转到后台运行,使用 fg 命令恢复。比如 top -d1 然后 ctrl+z,到后台,然后 fg,重新恢复

Esc 键组合

esc+d   # 删除光标后的一个词
esc+f   # 往右跳一个词
esc+b   # 往左跳一个词
esc+t   # 交换光标位置前的两个单词
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