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

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

 
阅读更多

基本編輯指令

 

這個單元就開始進入主題了。下編輯指令都是在 commond-mode(c-mode),就是您一進入 vim 時的模式,只能下指令,不能鍵入文字。如果印象模糊,請瞄一下第一個單元的內容。這個單元說的是基本的指令,有些比較特殊的編輯指令,因為太有個性了,所以會獨立成一個單元來說明。

 

 

進入i-mode指令

i  在游標所在字元前開始輸入文字(insert)。
a  在游標所在字元後開始輸入文字(append)。
o  在游標所在行下開一新行來輸入文字(open)。
I  在行首開始輸入文字。

  • 此之行首指第一個非空白字元處,要從真正的第一個字元處開始輸人文字,可使用 0i 或 gI(vim)。
A  在行尾開始輸入文字。

  • 這個好用,您不必管游標在此行的什麼地方,只要按 A 就會在行尾等著您輸入文字。
O  在游標所在行上開一新行來輸入文字。
J  將下一行整行接至本行(Joint)。

  • 並無相對的 split 功能,可在 i-mode 下按 Enter 來達成,當然如果您熟 macro 的話,可自行定義。
  • 使用 J 時,預設會消去本行的 EOL,且上下行接縫間會留下一個空白字元,這符合英文習慣,卻對中文會造成困擾,欲不留空白字元,可使用 gJ(大寫 J) 指令,但這是 vim 的擴充功能,elvis 不適用。
  • 請您隨便找一個檔案來試看看,光看文字說明太抽象了。


 

刪除指令

x  刪除游標所在處之字元。在 vim 及 elvis 亦可用 Del 鍵。
X  刪除游標前之字元。不可使用 Backspace 鍵。

  • vim 可以正確使用以上兩個指令於中文,會刪去一個中文字。elvis 則不行,一個中文字要刪兩次,即使用 xx。
dd 刪除一整行(delete line)。
dw 刪除一個字(delete word)。不能適用於中文。
dG 刪至檔尾。
d1G 刪至檔首。或 dgg(只能用於 vim)。
D  刪至行尾,或 d$(含游標所在處字元)。
d0 刪至行首,或 d^(不含游標所在處字元)。

  • 請回憶一下 $ 及 ^ 所代表的意義,您就可以理解 d$ 及 d^ 的動作,這就是 vi(m) 可愛之處。


取代和還原

r  取代游標所在處之字元。vi(m) 很有個性的,您在 c-mode 按
   了 r 她就會停在那裡等主人鍵入所要替代的字元,希望您這
   個當主人的,不要傻呼呼的也楞在那裡,趕快鍵入您的新字元
   吧!:-)

  • vim 中可用於中文字,也就是可以替換一個中文字,elvis 則不行。當然您的 vim 是要設在 taiwan 的才行。怎麼樣!有沒有看過如此有個性的取代方式?ㄚ!r 就是 replace 啦!
R  取代字元至按 Esc 為止。
cc 取代整行內容。或大寫 S 亦可。
cw 替換一個英文字(word),中文不適用。(change)
~  游標所在處之大小寫互換。當然不能用於中文。別忘了 Shift!
C  取代至行尾,即游標所在處以後的字都會被替換。或 c$。
c0 取代至行首,或 c^。
s  替換一個字元為您所輸入的字串。和 R 不同,R 是覆蓋式的取
   代,s 則是插入式的取代,您可親自實驗看看。ㄟ!是小寫的
   s。
u  這個太重要了,就是 undo,傳統的 vi 僅支援一次 undo,vim
   及 elvis 就不只了,vim 是沒有限制的。
U  在游標沒離開本行之前,回復所有編輯動作。
Crtl+r 這個也是很重要,就是 redo 鍵。


 

加上數目字

喔!騷到 vi(m) 的癢處了,這是 vi(m) 一個非常騷包的功能,只此一家別無分號(當然同源的 ed,sed 等不在此限)。就是您可以在大部份的指令前加上數目字,代表要處理幾次的意思。以下用實例來說明比較清楚。

5dd  刪除游標所在處(含)起算以下五行內容。妙吧!
3r   按了 3r 後,您鍵入一個英文字,則三個字元皆會被您所鍵
       入的英文取代。很抱歉,這不能用於中文。
5J   將五行合併成一行。
3x   刪除三個字元。抱歉,不能用於中文。
5i A 然後按 Ecs,插入五個 A。中文也可以!
2i system Esc  插入 systemsystem。中文也可以!
5G 游標移至第五行,是從檔首開始起算。
5l 移至右第五個字元處,當然 j 是可以用方向鍵取代的。
   所有移動指令(參考第二單元)都可以加上數目字來控制,中
   文也通喔!elvis 當然是不能用於中文。

其它的指令和數目字結合,就留待各位去發掘吧!最重要的是請您親自操作看看,使用 vi(m) 常常要動動腦筋,會有更妙的操作方式。



簡單的重排功能

>>  整行向右移一個 shiftwidth(預設是 8 個字元,可重設)。
<<  整行向左移一個 shiftwidth(預設是 8 個字元,可重設)。

  • :set shiftwidth? 可得知目前的設定值。:set shiftwidth=4 可馬上重設為 4 個字元。shiftwidth 可簡寫成 sw。ㄟ,別忘了 Shift 鍵!
:ce(nter)  本行文字置中。注意是冒號命令!
:ri(ght)   本行文字靠右。
:le(ft)    本行文字靠左。

  • 所謂置中、靠左右,是參考 textwidth(tw) 的設定。如果 tw 沒有設定,預設是 80,就是以 80 個字元為總寬度為標準來置放。當然您也可以如 sw 一樣馬上重設。
gqip  整段重排。中文會出槌!:-(
gqq   本行重排。

  • 重排的依據也是 textwidth。這裡的重排是指您鍵入文字時沒有按 Enter 鍵,就一直在 keyin,這樣會形成一個很長的一行(雖然螢幕上會替您做假性折行),重排後,則會在每一行最後加入 EOL。gq 重排功能是 vim 才有的功能。
分享到:
评论

相关推荐

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

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

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

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

    《大家来学vim》-李果正

    《大家来学vim》是李果正教授撰写的一本针对初学者的Vim编辑器教程,共计41页,旨在帮助读者快速掌握这款强大的文本编辑工具。Vim,全称Vi Improved,是从早期的Vi编辑器发展而来的一个高度可定制且功能丰富的文本...

    大家来学Vim.pdf

    通过以上对《大家来学Vim》核心知识点的详细解析,我们可以看到VIM不仅是一款文本编辑器,更是一个功能完备、高度可定制的开发工具。掌握VIM将极大提升文本处理和编程效率,是每个IT专业人士必备的技能之一。

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

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

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

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

    大家来学 vim pdf 中文

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

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

    VIM在保留了VI原有的特性基础上,增加了许多实用的功能,使其成为程序员和系统管理员的首选编辑器之一。 VI和VIM编辑器以其高效的操作模式和强大的文本处理能力闻名。它们主要有三种工作模式:命令模式、插入模式和...

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

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

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

    但三十年来,Unix已不再是三十年前的样子,这《学习vi和Vim编辑器(中文版)(第7版)》也不能一成不变。第7版的《学习vi和Vim》涵盖了Vim的详细指引,Vim是一种很棒的vi同类品。Vim现在是大多数Linux系统上的默认编辑器...

    学习vim 编辑器 第7版

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

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

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

    学习vi和Vim编辑器_CN.pdf

    学习vi和Vim编辑器是一项非常有价值的投资,尤其是在从事软件开发工作时。尽管它们的学习曲线相对较陡,但一旦掌握,就能显著提升工作效率。希望本文能够帮助读者更好地理解和掌握vi及Vim的强大功能。

    一个仿vim的文本编辑器

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

    Centos7 下安装VIM编辑器

    安装 VIM 编辑器需要安装三个包:`vim-X11-7.4.629-6.el7.x86_64`、`vim-common-7.4.629-6.el7.x86_64` 和 `vim-enhanced-7.4.629-6.el7.x86_64`。在安装之前,我们可以使用 `rpm -qa|grep vim` 命令来检查是否已经...

    VIM编辑器-rar

    VIM编辑器,全称是“Vi Improved”,是一款强大的文本编辑工具,深受程序员和系统管理员的喜爱。它在经典的Vi编辑器基础上进行了大量的扩展和优化,提供了丰富的功能和自定义选项,使得用户能够根据个人需求定制自己...

    vim编辑器用户手册

    Vim编辑器是一款在类Unix系统中广泛使用的文本编辑器,它是从传统vi编辑器发展而来的。由于Vim支持代码补全、编译及错误跳转等编程功能,所以备受程序员青睐。Vim与Emacs是类Unix系统中用户最喜欢的两种文本编辑器。...

Global site tag (gtag.js) - Google Analytics