[ 上一页 ] [ 目录 ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ A ] [ 下一页 ]
Linux 下有众多运行于控制台环境的文本编辑器任你选用,它们包括:
vim: 强大而轻便的 BSD 传统编辑器。VI iMproved.
emacs: 重量级 GNU 传统编辑器。RMS (Richard M. Stallman)原创。
xemacs: Emacs 的下一代,由 Lucid 原创。
mcedit: 新型 GNU 编辑器。也就是 mc 内置编辑器。参阅MC 里面的编辑器, 第 4.2.5 节.
ae: 默认的小型编辑器(Potato)。通常不用它。
nano: 默认的小型 GNU 编辑器(Woody)。类似 pico。
joe: 用于旧式的 WordStar 或 TurboPascal。
jed: 快速、多功能、菜单式编辑器,兼容 Emacs 键盘操作方式。
jove: 微型编辑器,兼容 Emacs 键盘操作方式。
nvi: 新版 vi。Bug-for-bug compatible with the original vi.
使用update-alternatives --config editor命令可设置默认的编辑器。许多程序也使用环境变量 EDITOR 或 VISUAL 来调用编辑器。参阅MC 里面的编辑器, 第 4.2.5 节.
还有一些运行于X环境的编辑器也值得一提:
gvim: Vim with GUI (vim and vim-gtk
package)
emacs: The One True Emacs (auto-detect X).
xemacs: Next generation Emacs (auto-detect X).
这些X客户端的命令使用标准选项如 -fn a24,这对象我这样的老家伙来说就再好不过了:)参阅X 客户端, 第 9.4.4 节。
有些编辑器安装在 /bin/ 下,这类编辑器至少应该安装一个,以免当
/usr/ 不能访问时,无法编辑文件。
elvis-tiny: 最小的 vi 编辑器(用 vi 命令开打)
nano-tiny: 最小的非 vi 编辑器(用 nano-tiny 命令打开)
nano: 最小的非 vi 编辑器(用 nano 命令打开) (Sarge)
ed: 最小的编辑器(常驻系统但使用起来极不方便)
程序运行时可按下<F1>阅读“VIM - main help file”文档。
<F1> 帮助
<esc> 返回到正常模式
V Visual 模式
i Insert 模式
: 命令行命令
:set tw=72 设置文本宽为 72
<F11> Insert (paste) 模式
:r! date -R Insert RFC-822 数据
qa 将键盘操作记录到注册表a
q 停止键盘操作记录
@a 播放注册表 a 中记录的键盘操作
:edit foo.txt 载入并编辑另一个文件 foo.txt
:wnext 写入当前文件然后编辑下一个文件
q 和 @ 可用来记录简单的键盘宏然后回放它们。例如,想创建一个宏为光标所在处的单词加上 HTML 斜体字标签,可以输入 qii<i>^[ea</i>^[q(此处^[表示按 ESC 键)。然后,在单词前输入 @i,编辑器就会自动为它加上<i>和</i>。
亦可参阅在 Vim 中使用 GnuPG, 第 14.4.2 节.
<F1> 帮助
<F10> 菜单
C-u M-! date -R 插入 RFC-822 数据
打开编辑器: emacs filename vim filename
以 vi 兼容方式打开: vim -C
以 vi 不兼容方式打开: vim -N
默认编译方式打开: emacs -q vim -N -u NONE
exit: C-x C-c :qa /:wq /:xa /:q!
Get back/command mode: C-g <esc>
Backward(left): C-b h
Forward(right): C-f l
Next(down): C-n j
Previous(up): C-p k
stArt of line(^): C-a 0
End of line($): C-e $
mUltiple commands: C-u nnn cmd nnn cmd
Multiple commands: M-digitkey cmd
save File: C-x C-s :w file
beginning of buffer: M-< 1G
end of buffer: M-> G
scroll forward 1 screen: C-v ^F
scroll forward 1/2 screen: ^D
scroll forward 1 line: ^E
scroll backward 1 screen: M-v ^B
scroll backward 1/2 screen: ^U
scroll backward 1 line: ^Y
scroll the other window: M-C-v
delete under cursor: C-d x
delete from cursor to eol: C-k D
iSearch forward: C-s
isearch Reverse: C-r
Search forward: C-s enter /
search Reverse: C-r enter ?
isearch regexp: M-C-s
isearch backward regexp: M-C-r
search regexp: M-C-s enter /
search backward regexp: M-C-r enter ?
Help: C-h C-h :help
Help Apropos: C-h a
Help key Bindings: C-h b :help [key]
Help Info: C-h i
Help Major mode: C-h m
Help tutorial: C-h t :help howto
Undo: C-_ u
Redo: C-f ^R
Mark cursor position: C-@ m{a-zA-Z}
eXchange Mark and position: C-x C-x
goto mark in current file: '{a-z}
goto mark in any file: '{A-Z}
copy region: M-w {visual}y
kill region: C-w {visual}d
Yank and keep buffer: C-y
Yank from kill buffer: M-y p
convert region to Upper: C-x C-u {visual}U
convert region to Lower: C-x C-l {visual}u
Insert special char: C-q octalnum/keystroke
^V decimal/keystroke
replace: M-x replace-string :%s/aaa/bbb/g
replace regexp: M-x replace-regexp :%s/aaa/bbb/g
query replace: M-% :%s/aaa/bbb/gc
query replace: M-x query-replace
query replace regexp: M-x query-replace-regexp
Open file: C-x C-f :r file
Save file: C-x C-s :w
Save all buffers: C-x s :wa
Save as: C-x C-w file :w file
Prompt for buffer: C-x b
List buffers: C-x C-b :buffers
Toggle read-only: C-x C-q :set ro
Prompt and kill buffer: C-x k
Split vertical: C-x 2 :split
Split horizontal: C-x 3 :vsplit (ver. 6)
Move to other window: C-x o ^Wp
Delete this window: C-x 0 :q
Delete other window(s): C-x 1 ^Wo
run shell in bg: M-x compile
kill shell run in bg: M-x kill-compilation
run make: :make Makefile
check error message: C-x` :echo errmsg
run shell and record: M-x shell :!script -a tmp
...clean BS, ... :!col -b <tmp >record
...save/recall shell record: C-x C-w record :r record
run shell: M-! sh :sh
run command: M-! cmd :!cmd
run command and insert: C-u M-! cmd :r!cmd
run filter: M-| file {visual}:w file
run filter and insert: C-u M-| filter {visual}:!filter
show option :se[t] {option}?
reset option to default :se[t] {option}&
reset boolean option :se[t] no{option}
toggle boolean option :se[t] inv{option}
wrap text at column 72 :se tw=72
do not wrap :se tw=0
autoindent :se ai
expand tab :se et
specify comment (mail) :se comments=n:>,n:\|
run GDB M-x gdb
describe GDB mode C-h m
step one line M-s
next line M-n
step one instruction (stepi) M-i
finish current stack frame C-c C-f
continue M-c
up arg frames M-u
down arg frames M-d
copy number from point, insert at the end
C-x &
set break point C-x SPC
要使用 Vim 的全部功能和关键字高亮显示,请在 ~/.vimrc 或
/etc/vimrc 中添加如下内容:
set nocompatible
set nopaste
set pastetoggle=<f11>
syn on
粘贴模式能避免自动缩进功能影响在控制台终端下的剪切-粘贴操作,它更象是“:set noai”。
有关 GnuPG 整合的信息参阅在 Vim 中使用 GnuPG, 第 14.4.2 节。
执行 apt-get install exuberant-ctags,接着就可以在源代码文件中运行
ctags 了。在 Vim 中输入 :tag function_name
可直接跳到 function_name 的开始行。它适用于
C、C++、Java、Python、和其它许多编辑语言。
Emacs 有相同的 ctags 功能。
在 Vim 命令模式下输 入so \$VIMRUNTIME/syntax/2html.vim 可以将屏幕上高亮显示的文本转化为 HTML 代码,然后 :w file.html存盘,:q 退出。对 C 等源代码特别适用。
vim 分割屏显
vim 可以在多分割窗口(multi-split-screen
)环境下编辑多个文件。想了解有关详情可输入 :help usr_08.txt。
要分割屏幕显示多个不同文件,在 vi 命令提示符后输入:
:split another-file
:vsplit another-file
或者在 shell 提示符后输入:
$ vi -o file1.txt file2.txt # 水平分割
$ vi -O file1.txt file2.txt # 垂直分割
就可以打开多窗口 vi。
$ vimdiff file.txt~ file.txt # 检查 file.txt 最近的修改情况
$ vimdiff file.en.sgml file.fr.sgml # 检查翻译情况
$ gvimdiff file.txt~ file.txt # 在 X 下
上述操作可以明确地显示源始文件与备份文件的差别。对 SGML 文件,它进行标签匹配检查,所以用它来检查翻译结果十分有效。
用 Ctrl-W 命令指定光标移动:
Ctrl-W + 扩大窗口
Ctrl-W - 缩小窗口
Ctrl-W h 移动到窗口左边
Ctrl-W j 移动到窗口下边
Ctrl-W k 移动到窗口上边
Ctrl-W l 移动到窗口右边
...
下列命令用于滚屏控制:
:set scrollbind
:set noscrollbind
[ 上一页 ] [ 目录 ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ A ] [ 下一页 ]
Debian 参考手册
CVS, 星期四 一月 18 11:53:48 UTC 2007osamu#at#debian.orgiamlyoo#at#163.netminghua#at#rice.eduatzlinux#at#163.comoptical.dlz#at#gmail.comxieyanbo#at#gmail.comeasthero#at#gmail.com