`
iamxi
  • 浏览: 191899 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

大家來學VIM(一個歷久彌新的編輯器)[一]

阅读更多

本文出自:http://www.study-area.org/tips/vim/index.html

因为最近在学vim,所以转过来。里面是繁体,好多都是台湾的计算机术语,看的时候有点怪异,不过还是不影响阅读的。

大家來學VIM(一個歷久彌新的編輯器)[一]

 

前言

 

鑑於仍有許多人還沒找到順手的編輯器,而許多想學 vi 的人又覺得無從下手,因此在此提出一些個人的心得,希望能對這些朋友有點幫助。或許也減少一點 FAQ 吧!

真要深入的話,大多數的前輩都認為 vi 比 emacs(xemcas) 還難學。但誰又真的需要熟悉編輯器的所有功能呢?你大可以邊用邊學啊!需要用到的先學,其它的就放一邊,只要能善用一些常用到的功能,又何必要那麼深入呢?而且您在使用當中經常會發現一些新功能,這又會馬上讓您給賺到了。

 

 

為什麼選VIM?

最最重要的原因是可以正確處理中文!其它如 elvis,vile,nvi 在中文方面都會有問題。另外就是許多作業系統都有 VIM 可用。當然如果您不需要中文支援的話,也建議使用 elvis。vile 則有 emacs 的味道,而 nvi 大概是最忠於原味的了!至於原始 vi 的書已有中文翻譯(O'Reilly),各位到大一點的書局翻翻就有了。所以選定 VIM 做對象,兼述及 elvis,至少她不「排斥」中文。

 

  • VIM 代表 Vi IMproved。
  • elvis 可直接讀 HTML(可用來上網,但只有文字),binary,manpage 及 TeX(LaTeX)(不是只顯示程式碼喔!)檔,和 XA+CV 配合也可以用中文,但不能真正處理就是了!
  • VIM 也不是真的能完全支援中文啦!有些細部的功能還是沒法度。大概 6.0 版的時候會更好!不過平常一般的編輯動作是沒問題。

另一個原因是,VIM 是慈善軟體(CharityWare),如有贊助或評比得獎(前不久剛得過),所得皆救助烏干達孤兒,有點年紀的大概還記得"We Are The World" 這首歌吧!全球的藝人共同合唱的,就是救助這些孤兒(應該沒記錯吧!)。您要使用當然是免費,您要捐款贊助當然是不勉強啦!但如果有評比有獎金可拿的,您去投她一票就是功德無量了。

另外 vim 的規則表示式(regular express)頗完整,您也可借這個機會學 regexp,因為您在 sed,awk,perl,less,grep...中也是要用到,早點會 regexp 您生活在 Linux(Unix)的世界會更美好。學了 regexp 您會有點看不起 windows 系統中的尋找功能的。

由於是慈善軟體,廣結善緣,因此連中文繁體都支援,不簡單。但也因此最近的版本有點肥,但又不會太肥(比 xemacs 好多了啦!)。這麼可愛的軟體,能不用她嗎?

 

 

如何抓vim(elvis)?

 

http://www.vim.org/



找個自己中意的 mirro 站抓。或許也順便抓 Win32 的可執行
檔回來在 windows 系統中使用。別忘了 runtime 檔也要抓,
否則會無法找到需要的檔案來執行。

http://www.fh-wedel.de/elvis/index.html



ftp://ftp.pdx.edu/pub/elvis



也可試試 elvis(當然是免費的)。

CLE 的使用者也可以到:
ftp://linux.tmtc.edu.tw/pub/CLE/i386/RedHat/RPMS



抓最新版來安裝,省時省力,而且還把必要的中文設定都弄好。
目前最新的版本,VIM 是 5.6,elvis 是 2.1-4。

 

編譯安裝

 

只講重點,避免囉嗦!

 

VIM:

  1. configure 時加上:
     --enable-multibyte
     --enable-xim    如果您使用 xcin2.3 的話,就不必了
     --enable-fontset
     --enable-gui=gtk
     gtk+ 最好是 1.2.3 以上的版本,1.2.1 也是將就可以啦
     !大家都用 gtk+ 了,您不會想編 Athena 或
     Motif(lesstif)吧!而且後兩個版本的 GUI 就沒有漂亮的
     icon 了(但有的人就是討厭這些無用的 icon)。

  2. ~/.vimrc 加入:
     set fileencoding=taiwan
     set guifontset=英文字型,中文字型
     設了 guifontset 就不能設 guifont 否則會優先使用
     guifont,這樣就找不到中文字型了!console 下或 xterm
     下的話,就看您用什麼字型就顯示什麼字型,和
     guifontset 無關。
  • 英文字型要用固定字,建議使用危卵的 Andale Mono 這個字型,包您滿意,可去危卵抓,免費的。我個人是使用 180 的 Andale 字,配上 220 的中文字,絕配(1024x768)!哦!不要告訴我,您的 X server 還不能支援 TTF。
  • Windows 中文版無需設 guifontset,只要設 guifont 即可。
  3. 使用 xcin2.3 的話還是得配合 XA+CV 主要是輸入的問題。
     使用 xcin2.5 的話就不必 XA+CV 了,但您得另外設 xim,
     請進入 VIM 後 :help xim。

  4. locale 要設成 zh_TW.Big5,意思就是您的系統的 i18n
     支援不能太差,我是使用 gvim-chinese shell script
     來呼叫 gvim。

     #!/bin/sh
     # gvim-chinese
     # unset LD_PRELOAD        如果您使用 xcin2.5x 的話
     export LC_ALL=zh_TW.Big5
     gvim "$@"

elvis:

elvis 沒什麼好說的,反正是靠 XA+CV 來顯示及輸入中文 。至於其他外觀調整,就請 man elvis。

 

 

勤前教育

VIM 的模式可有六種,為免初學的人搞混,仍依一般的分類分成三種:

1. Normal mode(common mode,以下簡稱 c-mode):
您一進入 VIM 就是處於 c-mode,只能下按鍵指令,不能輸入文字。這些指令可能是游標移動的指令,也可能是編輯指令或尋找替換指令。

 

2. Insert mode(i-mode):
按 i 就會進入 i-mode,此時才可以鍵入文字,寫您的文章,按 Esc 又會回到 c-mode。

 

3. Ed mode(common-line mode,e-mode):
按冒號:(別忘了 Shift 鍵)就會進入 e-mode,左下角會有一個冒號:出現可下 ed 指令。也是按 Esc 回 c-mode。反正正常狀態都是處於 c-mode,這樣才不會把您辛苦打字的文章給隨便搞亂掉。
  • ed 是一個很古老的行編輯器,就好像 DOS 下的 edline 一樣,vi,sed 這些編輯器都是從 ed 衍化而來的。當然 DOS 下的 edline 也是學 ed 而來的,但功能可就不能同日而語了!有興趣可 man ed 學看看,有些時候會只有 ed 可以用(當機救助的時候)。

其它的模式就碰到時再說明了!

 

 

基本教練:step by step

 

1. 由命令列來開檔:
vim test.txt 或 gvim test,txt 或 gvim-chinese test.txt 如果您的系統 vi 是 vim 的連結檔話,就可以直接用 vi test.txt。以下就直接用 vim 代表 vi,gvim,elvis 因操作是一樣的有不同的地方會加注說明。

 

2. 先進入 vim 後再開檔:
進入 vim 後,使用冒號命令 :e test.txt,就可以編輯 test.txt 這個檔。1. 及 2. 這兩個開檔法,如果 test.txt 不存在的話,就會開一個以 test.txt 為名的新檔案。
  • 如果是 gvim,可由 icon(gtk 版本才有)或功能表來叫出 file browser 來選看看您要編輯哪一個檔,但如果您是初學的話不建議您這麼做,vi 就是以按鍵快速聞名,這是她的優點,您還是學起來吧,不然沒有 GUI 的時候會很不習慣的。

 

3. 編寫文件:
進入 vim 後,按 i 進入 i-mode,就可以編寫您的文件了。在 vim 游標的移動可以由方向鍵來移動。Backspace 鍵可消去前一個字元,中文的話是一個中文字。Del 鍵可刪除游標所在處的字元(中文字)。
  • 原始 vi 是不能在 i-mode 隨意移動游標的,得進入 c-mode 才能移動,因此就常常要按 Esc 來變換模式。vim 及 elvis 都打破了這個規矩。

 

4. 存檔、離開:
如果您寫好您的文件,就可以按 Esc 回到 c-mode,然後 :w 就會存檔(注意,是冒號命令),但還不會離開 vim,要離開可按 :q,就可以了!也可以合起來用,:wq,就樣就會存檔後離開。怎麼樣,也不會很難吧!只不過操作方式和別的編輯器不一樣罷了,這樣豈不是很有個性。:-)
  • 盡量記住按鍵的意義,才不必死背,如 e 是 edit(編輯), w 是 write(寫入),q 是 quit(停止、離開)。

 

好了,這是就編輯的整個過程。下回開始是詳述各部份的功能,把 vim 解剖開來講,您可以馬上現學現賣。由於 vi(m) 的操作方式很有個性,因此,用了一次就會記住有這麼一個功能,想忘也忘不了,但有時按鍵難免會忘記,但有這一種功能大概是忘不了的,查了幾次指令就可以記得住了。

 

分享到:
评论

相关推荐

    vim帮助文档-大家来学VIM(一个历久弥新的编辑器)

    大家来学VIM(一个历久弥新的编辑器)[一] 前言 监於仍有许多人还没找到顺手的编辑器,而许多想学 vi 的人又觉得无从下手,因此在此提出一些个人的心得,希望能对这些朋友有点帮助。或许也减少一点 FAQ 吧! ...

    《大家来学vim》-李果正

    Vim,全称Vi Improved,是从早期的Vi编辑器发展而来的一个高度可定制且功能丰富的文本编辑器,广泛应用于Linux、Unix和类Unix系统中,同时也支持Windows平台。 1. Vim的基本操作: - 启动与退出:学习如何启动Vim...

    大家来学vim(简体-05).pdf

    大家来学vim(简体-05).pdf 鉴于仍有许多人还没找到顺手的编辑器,而许多想学 vi 的人又觉得无从下手,因此在此提出一 些个人的心得,希望能对这些朋友有点帮助。或许也减少一点 FAQ 吧! 真要深入的话,大多数的前辈...

    大家来学 vim pdf 中文

    "大家来学 Vim pdf 中文" 是一个专为中文用户设计的教程,旨在帮助初学者快速掌握Vim的基本操作和高级技巧。 1. **基础操作** - 启动与退出:了解如何启动Vim编辑器,以及在编辑模式和命令模式之间切换。例如,按...

    学习vi和vim编辑器_第7版_中文+英文_PDF

    《学习vi和Vim编辑器(中文版第7版)》将说明使用这两种程序编辑文档的基础技巧,并讨论高级工具,例如交互式宏与扩展编辑器的脚本——我们的内容编写成容易遵循步骤操作的风格,成就本书的经典地位。读者将学到: ·...

    学习vi和vim编辑器.pdf_vim实用_vi_vim_

    1. **打开文件**:`vim 文件名` 命令用于打开一个文件进行编辑。 2. **移动光标**:`h`左移,`j`下移,`k`上移,`l`右移;数字与移动键组合可快速移动,如`4j`表示向下移动4行。 3. **删除文本**:`x`删除当前字符,...

    学习VI和VIM编辑器第7版中文

    **VI和VIM编辑器详解** VI(Visual Editor)是一款强大的文本编辑器,最初在1976年由Bill Joy为UNIX系统开发。随着时间的发展,VI的增强版本VIM(Vi Improved)应运而生,由 Bram Moolenaar 开发,并在1991年首次...

    基于C/C++语言的简易vim编辑器 仿vim编辑器

    # 基于C/C++语言的简易vim编辑器 仿vim编辑器 1. 编辑器下有normal和insert两种模式。默认为normal模式,按i键进入insert模式,按esc退出insert模式。 2. normal模式下按 h j k l键向左上下右移动光标。 3. normal...

    学习vim 编辑器 第7版

    "学习vim编辑器 第7版"显然是针对这个版本的Vim进行深入学习的资源,对于想要提升文本编辑效率的人来说,是非常有价值的。 在Vim中,用户可以快速地在命令模式、插入模式和可视模式之间切换,以执行不同的操作。...

    一个仿vim的文本编辑器

    【标题】:“一个仿vim的文本编辑器” 在IT领域,文本编辑器是开发者们日常工作中不可或缺的工具,它们用于创建、查看和修改各种类型的文本文件。Vim(Vi Improved)是一个高度可定制且功能强大的命令行文本编辑器...

    学习vi和Vim编辑器_CN.pdf

    - **利用Fugitive.vim进行Git集成**:Fugitive.vim是一个Vim插件,提供了丰富的Git命令集成,如提交、查看历史、分支管理等。 #### 结语 学习vi和Vim编辑器是一项非常有价值的投资,尤其是在从事软件开发工作时。...

    学习VI和VIM编辑器第7版中文

    将近三十年的时间里,vi一直是Unix与Linux采用的标准编辑器,从1986年开始,《学习vi和Vim编辑器》一直是第一线的vi导引手册。但三十年来,Unix已不再是三十年前的样子,这本书也不能一成不变。第7版的《学习vi和Vim...

    vim编辑器的rpm包

    在本案例中,"vim编辑器的rpm包"指的是一个打包为RPM格式的Vim软件,方便在支持RPM的Linux系统上进行安装。 RPM包的工作原理是将软件及其依赖关系打包成单一文件,以便于分发和管理。当用户运行`rpm`命令来安装这个...

    笨方法学 Vim Script

    例如,你可以定义一个函数来自动缩进代码,然后通过快捷键轻松调用。 Vim Script 中的命令是其强大之处。它们允许你控制文本的操作,比如移动光标、删除文本、复制和粘贴等。例如,`:global` 命令可以用于在整个...

    vim编辑器用户手册

    Vim编辑器的定制是一个很大的话题,用户可以学习如何通过vimrc文件来配置Vim,包括简单映射的设置、插件的安装、帮助文件的增加、选项设置等。此外,用户手册中还包括使用语法高亮的方法,这对于编程工作尤其重要。 ...

    大家来学vim(RedHat下的文本编辑器学习用书)

    台湾李果正出的一本关于linux下vi操作的书,开源原版书!

Global site tag (gtag.js) - Google Analytics