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

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

 
阅读更多

叫檔、存檔、緊急回復

 

ㄟ,是不是在灌水呀!怎麼開個檔也成一個單元?那您就錯了,在 vi(m) 裡叫檔的花樣可多了,而且又可以多檔編輯,各編輯中的檔案還可以互通訊息,這裡面學問可大著呢!vim 就更騷包了,也學人家檔案可以加密,雖說是噱頭,但也還滿好用的。

 

 

開檔的一些花招

vim + 檔名  這樣開檔後,游標會落在檔案最後一行的行尾,在檔
            案屁屁後幹什麼呢?方便您可以繼續編輯嘛!:-)
vim +n 檔名  游標會落在第 n 行的行首。
vim +/string 檔名


  • 還記得嗎? / 就是尋找指令,這樣進入檔案後游標就會落在第一個找到的 string 上,還可以按 n 繼續找 string 喔!哦,string 還可以使用 regexp 來表示喔。


 

多檔編輯

多檔編輯會有兩種情形,一種是在進入 vim 前所用的參數就是多個檔(這種情形稱為 argument list)。另一種情形是進入 vim 後另外再開其它的檔(稱為 buffer list)。不過都可以統稱為 buffer。

:n  編輯下一個檔案。
:2n 編輯下二個檔案。
:N  編輯前一個檔案。


  • 注意,這種用法只能用於 argument list 的情形。
:e 檔名  這是在進入 vim 後,在不離開 vim 的情形下再開其它檔
         案。只要您要編輯的檔案是在目前目錄,Tab 補全鍵還是
         可以使用。
:e# 或 Ctrl-^  編輯前一個檔案,用於兩檔互相編輯時相當好用。


  • 這種用法不管是 argument list 或 buffer list 檔案間皆可使用。
  • 還記得嗎? # 代表的是前一次編輯的檔案。
:files 或 :buffers 或 :ls  會列出目前 buffer 中的所有檔案。


  • 在 elvis 中可使用 :b 來叫出 buffers。
  • 在 buffers 中,減號 - 表示這個 buffer 並未載入,不過,不必擔心,載入相當快速的。加號 + 表示這個 buffer 已經修改過了。
:bn  buffer next。
:bl  buffer last。


  • 以上兩個指令 elvis 不適用。
:b檔名或編號  移至該檔。


  • 在 :ls 中就會出示各檔案的編號,這個編號在未離開 vim 前是不會變的。這個指令 elvis 也是可以使用。
  • 當然 :e#編號 也是可以的,這樣的用法則是所有 vi clone 都通用了。
  • 如果您是使用 vim 的 GUI,那就在功能表上就會有 Buffers 這個選項,可以很容易的知道及移動各 buffer 間。
:bd(elete)  buffer 在未離開 vim 前是不會移除的,可使用這個指
     令移除。其實移除她幹什麼呢?vim 是您在叫用時才會載入的,
     因此這些 buffers 並不是像 cache 一般要佔記憶體的。
:e! 檔名  這樣也是會開檔,但會放棄目前編輯檔案的改變,否則
   如果檔案已有變動,vim 預設是不讓您隨便離開的。:e! 後不接
   什麼的話,代表捨棄一切修改,重新載入編輯中檔案。
:f 或 Ctrl-g
  顯示目前編輯的檔名、是否經過修改及目前游標所在之位置。
:f 檔名  改變編輯中的檔名。(file)
:r 檔名  在游標所在處插入一個檔案內容。(read)
:35 r 檔名  將檔案插入至 35 行之後。
gf  這是 vim 的特殊叫檔法,會叫出游標所在處的 word 為名的檔
    案,當然,這個檔案要在目前目錄內,否則會開新檔案。


哦!好像有點給他複雜,主要原因是偶文筆不好啦!不過您何不選個順手的來用就可以了,選定了,以後就是使用他,這樣就不會那麼複雜了。:-)



離開

:q  如本文有修改而沒存檔,會警告,且無法離開。(quit)
:q! 捨棄所有修改,強迫離開。
:wq 存檔後離開。縱使檔案未曾修改也是會再存一次檔。
:x  也是存檔後離開,但如果檔案沒有修改,則不會做存檔的動作。
ZZ  和 :x 完全一樣,隨您高興用哪一個。
:w 檔名  另存他檔。不加檔名就是寫入原檔。(write)


  • :q 及 :q! 是對目前編輯中的檔案作用,如果多檔編輯的情形並不會離開 vim,這時可下 :qa 或 :qa! 來整個離開 vim。a 就是 all 的意思。
  • :指令!,這個 ! 的意思是強迫中止目前正在編輯的動作,而去執行所下的指令。各位應該到目前為止碰過好幾次了吧!


 

VIM的加密功能

vim -x [檔名]
這樣進入 vim 後會要求輸入密碼。以後加密過的檔案由 vim 開啟時會自動要求輸入密碼。否則無法開啟。其它的編輯器當然是無法開啟的。


進入 vim 編輯檔案中,臨時想加密,可用 :X 指令。
  • 小心!vim 一開檔就會有個 .檔名.swp 這個檔,是為了緊急回復用的,一般是在您所開檔案的所在目錄,這是個隱藏檔,ls 要有 -a 參數才看得到,您加密的功能並沒有作用在這個 swp 檔,因此 root 還是知道您在寫些什麼關於他的壞話的。:-)當然啦!山不轉,路轉,路不轉,人轉,您也是可以把 swap 的功能關掉的 :set noswf 就行了!但如果您編輯的是大檔案,則不建議您把 swap 關掉,這樣會很吃記憶體的。
  • elvis 的話,其暫存檔是統一集中存放在 /var/tmp/*.ses,權限是檔案所有者始能讀寫。vim 的早期版本,其 *.swp 檔是依原檔案的權限來設定的,最近的版本則從善如流,已經改成檔案所有人始能讀寫,就是 -rw------- 啦!


 

緊急回復

vim -r 檔名,或進入 vim 後,下 :recover 檔名,來回復。


分享到:
评论

相关推荐

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

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

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

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

    大家来学Vim.pdf

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

    《大家来学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编辑器.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中,用户可以快速地在命令模式、插入模式和可视模式之间切换,以执行不同的操作。...

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

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

    学习vi和Vim编辑器_CN.pdf

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

    一个仿vim的文本编辑器

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

    学习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编辑器用户手册

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

    笨方法学 Vim Script

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

Global site tag (gtag.js) - Google Analytics