LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2160|回复: 0

Debian参考手册 第十一章 编辑器

[复制链接]
发表于 2003-3-28 00:31:43 | 显示全部楼层 |阅读模式
Debian参考手册

~~~~~~~~
第十一章 编辑器
~~~~~~~~



11.1 流行的编辑器
=================
Linux下有众多运行于控制台环境的文本编辑器任你选用,它们包括:

    ·vim:强大而轻便的BSD传统编辑器。VI iMproved.
    ·emacs:重量级GNU传统编辑器。RMS (Richard M. Stallman)原创。
    ·xemacs:Emacs的下一代,由Lucid原创。
    ·mcedit:新型GNU编辑器。也就是mc内置编辑器。参阅〖4.3.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-alternavives --config editor命令可设置默认的编辑器。许多程序也使用环境变量EDITOR或VISUAL来调用编辑器。参阅〖4.3.5 编辑器〗。

还有一些运行于X环境的编辑器也值得一提:

    ·gvim:Vim with GUI (vim-gtk package)
    ·emacs:The One True Emacs (auto-detect X).
    ·xemacs:Next generation Emacs (auto detect X).

这些X客户端的命令使用标准选项如-fn a24,这对象我这样的老家伙来说就再好不过了参阅〖9.4.4 X客户端〗。



11.2 应急的编辑器
=================
有些编辑器安装在/bin下,这类编辑器至少应该安装一个,以免当/usr不能访问时,无法编辑文件。

    ·elvis-tiny:最小的vi编辑器(用vi命令开打)
    ·nano-tiny:最小的非vi编辑器(用nano-tiny命令打开)
    ·ed:最小的编辑器(常驻系统但使用起来极不方便)



11.3 Emacs和Vim
===============

11.3.1 Vim提示
--------------
程序运行时可按下<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
    @a             播放注册表a中记录的键盘操作
    :edit foo.txt  载入并编辑另一个文件foo.txt
    :wnext         写入当前文件然后编辑下一个文件

q和@可用来记录简单的键盘宏然后回放它们。例如,想创建一个宏为光标所在处的单词加上HTML斜体字标签,可以输入qii<i>^[ea</i>^[q (此处^[表示按ESC键)。然后,在单词前输入@i,编辑器就会自动为它加上<i>和</i>。

11.3.2 Emacs提示
----------------
    <F1>                帮助
    <F10>               菜单
    C-u M-! date -R     插入RFC-822数据

11.3.3 打开编辑器
-----------------
    打开编辑器:           emacs filename  vim filename
    以vi兼容方式打开:                     vim -C
    以vi不兼容方式打开:                   vim -N
    默认编译方式打开:     emacs -q        vim -N -u NONE


11.3.4 编辑器命令总汇(Emacs,Vim)
----------------------------------

  1.     退出:                          C-x C-c         :qa /:wq /:xa /:q!
  2.     返回/命令模式:                 C-g             <esc>
  3.     后退(左移):                  C-b             h
  4.     前进(右移):                  C-f             l
  5.     下一行(下移):                C-n             j
  6.     上一行(上移):                C-p             k
  7.     行首(^):                     C-a             0
  8.     行尾($):                     C-e             $
  9.     多重命令:                      C-u nnn cmd     :count cmd
  10.     多重命令:                      M-digitkey cmd
  11.     保存文件:                      C-x C-s         :w file
  12.     buffer开始处:                  M-<             1G
  13.     buffer末尾处:                  M->             G
  14.     向前翻1屏:                     C-v             ^F
  15.     向前翻1/2屏:                                   ^D
  16.     向前翻1行:                                     ^E
  17.     向后翻1屏:                     M-v             ^B
  18.     向后翻1/2屏:                                   ^U
  19.     向后翻1行:                                     ^Y
  20.     换到其它窗口:                  M-C-v
  21.     删除光标下的内容:              C-d             x
  22.     删除光标和行尾之间的内容:      C-k             D
  23.     向前iSearch:                   C-s
  24.     反向isearch:                   C-r
  25.     向前搜索:                      C-s enter       /
  26.     反向搜索:                      C-r enter       ?
  27.     正规表达式isearch:             M-C-s
  28.     正规表达式反向isearch:         M-x isearch-backward-regexp
  29.     正规表达式搜索:                M-C-s enter     /
  30.     正规表达式反向搜索:            M-x isearch-backward-regexp enter
  31.                                                     ?
  32.     帮助:                          C-h C-h         :help
  33.     可能的帮助:                    C-h a
  34.     快捷键帮助:                    C-h b           :help [key]
  35.     简要帮助:                      C-h i
  36.     主要帮助:                      C-h m
  37.     使用指南:                      C-h t           :help howto
  38.     Undo:                           C-_             u
  39.     Redo:                           C-f             ^R
  40.     在光标所在处作记号:            C-@             m{a-zA-Z}
  41.     交换记号和位置:                C-x C-x
  42.     定位到当前文件的记号处:                        '{a-z}
  43.     定位到所有文件的记号处:                        '{A-Z}
  44.     区域拷贝:                      M-w             {visual}y
  45.     区域删除:                      C-w             {visual}d
  46.     Yank and keep buffer:           C-y            
  47.     Yank from kill buffer:          M-y             p
  48.     区域内字母转成大写:            C-x C-u         {visual}U
  49.     区域内字母转成小写:            C-x C-l         {visual}u
  50.     插入特殊字符:                  C-q octalnum/keystroke  
  51.                                                     ^V decimal/keystroke
  52.     替换:                          M-x replace-string      :%s/aaa/bbb/g
  53.     正规表达式替换:                M-x replace-regexp      :%s/aaa/bbb/g
  54.     询问替换:                      M-%                     :%s/aaa/bbb/gc
  55.     询问替换:                      M-x query-replace
  56.     询问正规表达式替换:            M-x query-replace-regexp
  57.     打开文件:                      C-x C-f         :r file
  58.     保存文件:                      C-x C-s         :w
  59.     保存所有buffers:               C-x s           :wa
  60.     保存为:                        C-x C-w file    :w file
  61.     准备buffer:                    C-x b
  62.     buffers列表:                   C-x C-b         :buffers
  63.     只读开关:                      C-x C-q         :set ro
  64.     Prompt and kill buffer:         C-x k
  65.     水平分割窗口:                  C-x 2           :split
  66.     垂直分割窗口:                  C-x 3           :vsplit (ver. 6)
  67.     移动到其它窗口:                C-x o           ^Wp
  68.     关闭当前窗口:                  C-x 0           :q
  69.     关闭其它窗口:                  C-x 1           ^Wo
  70.     在前台运行shell:               M-x compile
  71.     关闭前台运行的shell:           M-x kill-compilation
  72.     运行make                                        :make Makefile
  73.     检查错误消息:                  C-x`            :echo errmsg
  74.     运行shell关记录其活动:         M-x shell       :!script -a tmp
  75.     ...清除BS, ...                                  :!col -b <tmp >record
  76.     ...保存/调出shell记录:         C-x C-w record  :r record
  77.     运行shell:                     M-! sh          :sh
  78.     执行命令:                      M-! cmd         :!cmd
  79.     执行命令并进入插入状态:        C-u M-! cmd     :r!cmd
  80.     运行filter:                     M-| file        {visual}:w file
  81.     运行filter并进入插入状态:      C-u M-| filter  {visual}:!filter
  82.     显示option                                      :se[t] {option}?
  83.     重设option到默认状态                            :se[t] {option}&
  84.     重设boolean option                              :se[t] no{option}
  85.     boolean option开关节                            :se[t] inv{option}
  86.     文本在第72列自动换行                            :se tw=72
  87.     关闭自动换行                                    :se tw=0
  88.     自动缩进                                        :se ai
  89.     扩展tab                                         :se et
  90.     特殊注释(mail)                                :se comments=n:>,n:\|
  91.    
  92.     运行GDB                         M-x gdb                        
  93.     显示GDB模式                     C-h m                          
  94.     step one line                   M-s
  95.     next line                       M-n
  96.     step one instruction (stepi)    M-i                           
  97.     finish current stack frame      C-c C-f                        
  98.     continue                        M-c                           
  99.     up arg frames                   M-u                           
  100.     down arg frames                 M-d                           
  101.     copy number from point, insert at the end
  102.                                     C-x &                          
  103.     set break point                 C-x SPC
复制代码

11.3.5 Vim设置
--------------
要使用Vim的全部功能和关键字高亮显示,请在~/.vimrc或/etc/vimrc中添加如下内容:

    set nocompatible
    set nopaste
    set pastetoggle=<f11>
    syn on

粘贴模式能避免自动缩进功能影响在控制台终端下的剪切-粘贴操作,它更象是“:set noai”。

有关GnuPG整合的信息参阅〖14.4.2 在Vim中使用GnuPG〗

11.3.6 Ctags
------------
执行apt-get install exuberant-ctags,接着就可以在源代码文件中运行ctags了。在Vim中输入:tag function_name可
直接跳到function_name的开始行。它适用于C、C++、Java、Python、和其它许多编辑语言。

Emacs有相同的ctags功能。

11.3.7 将高亮显示的屏显内容转化为HTML文件
-----------------------------------------
在Vim命令模式下输入so \$VIMRUNTIME/syntax/2html.vim可以将屏幕上高亮显示的文本转化为HTML代码,然后:w file.html存盘,:q退出。对C等源代码特别适用。

11.3.8 用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



=========================================
Debian Reference

CVS, 2003-01-31-07:53:52
Osamu Aoki osamu@debian.org
Editor: David Sewell dsewell@virginia.edu
中文翻译:LYOO iamlyoo@163.com
          2003/03/26
=========================================
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表