亦是美網絡

致力于操作系統應用與計算機網絡技術的IT網站。

站內搜索


最新文章

推薦文章

兩個成倍提高工作效率的 Vim 使用技巧

Vim 是個非常好用的工具,很多人一旦開始使用 Vim 之后就再也無法自拔。然而, Vim 仍然有其自身缺陷。陡峭的學習曲線是缺陷之一,在某些使用場景上的局限也不能忽視。今天我們為大家介紹兩個方法,來解決使用中的痛點。

在任何地方使用 Vim

我會向大家介紹 Vim-anywhere,這是一個簡單的腳本,它允許你使用 Vim 編輯器在 Linux 中的任何地方輸入文本。這意味著你能簡單地調用自己最愛的 Vim 編輯器,輸入任何你所想的,并將這些文本粘貼到任意的應用和網站中。這些文本將在剪貼板可用,直到你重啟了系統。這個工具對那些喜歡在非 Vim 環境中使用 Vim 鍵位綁定的人來說十分有用。

在 Linux 中安裝 Vim-anywhere

Vim-anywhere 工具可以運行在任何基于 GNOME(或其他衍生品)的 Linux 發行版上。另外,確保你已經安裝了下面的依賴。

Curl

Git

gVim

xclip

比如,你可以用下面的命令在 Ubuntu 中安裝這些工具:

$ sudo apt install curl git vim-gnome xclip

然后運行如下的命令來安裝 Vim-anywhere:

$ curl -fsSL https://raw.github.com/cknadler/vim-anywhere/master/install | bash

Vim-anywhere 到此已經安裝完成。現在我們來看看如何使用它。

在任何地方使用 Vim 編輯器輸入文本

假如你需要創建一個 word 文檔。但是你更愿意使用 Vim 編輯器,而不是 LibreOffice。沒問題,這里 Vim-anywhere 就派上用場了。Vim-anywhere 自動化了整個流程。它僅僅簡單地調用 Vim 編輯器,所以你能寫任何你所想的,然后將之粘貼到 .doc 文件中。

讓我給你展示一個用例。打開 LibreOffice 或者你選的任何圖形文本編輯器。然后打開 Vim-anywhere。你只需要按下 CTRL+ALT+V 即可。它將會打開 gVim 編輯器。按下 i 切換到交互模式然后輸入文本。完成之后,鍵入 :wq 關閉并保存文件。

這些文本會在剪貼板中可用,直到你重啟了系統。在你關閉編輯器之后,你之前的應用會重新占據主界面。你只需按下 CTRL+P 將文本粘貼進去。

這僅僅只是一個例子。你甚至可以使用 Vim-anywhere 在煩人的 web 表單或者其他應用上進行輸入。一旦 Vim-anywhere 被調用,它將會打開一個緩沖區。關閉 Vim-anywhere 之后,緩沖器內的內容會自動復制到你的剪貼板中,之前的應用會重新占據主界面。

Vim-anywhere 在被調用的時候會在 /tmp/vim-anywhere 中創建一個臨時文件。這些臨時文件會一致保存著,直到你重啟了系統,并為你提供臨時的歷史記錄。

$ ls /tmp/vim-anywhere

你可以用下面的命令重新打開最近的文件:

$ vim $( ls /tmp/vim-anywhere | sort -r | head -n 1 )

更新 Vim-anywhere

運行下面的命令來更新 Vim-anywhere:

$ ~/.vim-anywhere/update

更改快捷鍵

默認調用 Vim-anywhere 的鍵位是 CTRL+ALT+V。你可以用 gconf 工具將其更改為任何自定義的鍵位綁定。

$ gconftool -t str --set /desktop/gnome/keybindings/vim-anywhere/binding <custom binding>

卸載 Vim-anywhere

可能有些人覺得每次打開 Vim 編輯器,輸入一些文本,然后將文本復制到其他應用中是沒有意義也毫無必要的。

如果你不覺得這個工具有用,只需使用下面的命令來卸載它:

$ ~/.vim-anywhere/uninstall

同時修改多個文件

有時候,您可能需要修改多個文件,或要將一個文件的內容復制到另一個文件中。在圖形用戶界面中,您可以在任何圖形文本編輯器(如 gedit)中打開文件,并使用 CTRL + C 和 CTRL + V 復制和粘貼內容。在命令行模式下,您不能使用這種編輯器。不過別擔心,只要有 vim 編輯器就有辦法。在本教程中,我們將學習使用 vim 編輯器同時編輯多個文件。相信我,很有意思噠。

我們可以用兩種方法做到這一點。

方法一

有兩個文件,即 file1.txt 和 file2.txt,帶有一堆隨機單詞:

$ cat file1.txt ostechnix open source technology linux unix $ cat file2.txt line1 line2 line3 line4 line5

現在,讓我們同時編輯這兩個文件。請運行:

$ vim file1.txt file2.txt

Vim 將按順序顯示文件的內容。首先顯示第一個文件的內容,然后顯示第二個文件,依此類推。

- 在文件中切換

要移至下一個文件,請鍵入:

:n

要返回到前一個文件,請鍵入:

:N

如果有任何未保存的更改,Vim 將不允許您移動到下一個文件。要保存當前文件中的更改,請鍵入:

ZZ

請注意,是兩個大寫字母 ZZ(SHIFT + zz)。

要放棄更改并移至上一個文件,請鍵入:

:N!

要查看當前正在編輯的文件,請鍵入:

:buffers

您將在底部看到加載文件的列表。

要切換到下一個文件,請輸入 :buffer,后跟緩沖區編號。例如,要切換到第一個文件,請鍵入:

:buffer 1

- 打開其他文件進行編輯

目前我們正在編輯兩個文件,即 file1.txt 和 file2.txt。我想打開另一個名為 file3.txt 的文件進行編輯。

您會怎么做?這很容易。只需鍵入 :e,然后輸入如下所示的文件名即可:

:e file3.txt

現在你可以編輯 file3.txt 了。

要查看當前正在編輯的文件數量,請鍵入:

:buffers

請注意,對于使用 :e 打開的文件,您無法使用 :n 或 :N 進行切換。要切換到另一個文件,請輸入 :buffer,然后輸入文件緩沖區編號。

- 將一個文件的內容復制到另一個文件中

您已經知道了如何同時打開和編輯多個文件。有時,您可能想要將一個文件的內容復制到另一個文件中。這也是可以做到的。切換到您選擇的文件,例如,假設您想將 file1.txt 的內容復制到 file2.txt 中:

首先,請切換到 file1.txt:

:buffer 1

將光標移動至在想要復制的行的前面,并鍵入yy 以抽出(復制)該行。然后,移至 file2.txt:

:buffer 2

將光標移至要從 file1.txt 粘貼復制行的位置,然后鍵入 p。例如,您想要將復制的行粘貼到 line2 和 line3 之間,請將鼠標光標置于行前并鍵入 p。

輸出示例:

line1 line2 ostechnix line3 line4 line5

要保存當前文件中所做的更改,請鍵入:

ZZ

再次提醒,是兩個大寫字母 ZZ(SHIFT + z)。

保存所有文件的更改并退出 vim 編輯器,鍵入:

:wq

同樣,您可以將任何文件的任何行復制到其他文件中。

- 將整個文件內容復制到另一個文件中

我們知道如何復制一行,那么整個文件的內容呢?也是可以的。比如說,您要將 file1.txt 的全部內容復制到 file2.txt 中。

先打開 file2.txt:

$ vim file2.txt

如果文件已經加載,您可以通過輸入以下命令切換到 file2.txt:

:buffer 2

將光標移動到您想要粘貼 file1.txt 的內容的位置。我想在 file2.txt 的第 5 行之后粘貼 file1.txt的內容,所以我將光標移動到第 5 行。然后,鍵入以下命令并按回車鍵:

:r file1.txt

這里,r 代表 “read”。

現在您會看到 file1.txt 的內容被粘貼在 file2.txt 的第 5 行之后。

line1 line2 line3 line4 line5 ostechnix open source technology linux unix

要保存當前文件中的更改,請鍵入:

ZZ

要保存所有文件的所有更改并退出 vim 編輯器,請輸入:

:wq

方法二

另一種同時打開多個文件的方法是使用 -o 或 -O 標志。

要在水平窗口中打開多個文件,請運行:

$ vim -o file1.txt file2.txt

要在窗口之間切換,請按 CTRL-w w(即按 CTRL + w 并再次按 w)。或者,您可以使用以下快捷方式在窗口之間移動:

CTRL-w k – 上面的窗口

CTRL-w j – 下面的窗口

要在垂直窗口中打開多個文件,請運行:

$ vim -O file1.txt file2.txt file3.txt

要在窗口之間切換,請按 CTRL-w w(即按 CTRL + w 并再次按 w)。或者,使用以下快捷方式在窗口之間移動:

CTRL-w l – 左面的窗口

CTRL-w h – 右面的窗口

其他的一切都與方法一的描述相同。

例如,要列出當前加載的文件,請運行:

:buffers

在文件之間切換:

:buffer 1

打開其他文件,請鍵入:

:e file3.txt

將文件的全部內容復制到另一個文件中:

:r file1.txt

方法二的唯一區別是,只要您使用 ZZ 保存對當前文件的更改,文件將自動關閉。然后,您需要依次鍵入 :wq 來關閉文件。但是,如果您按照方法一進行操作,輸入 :wq 時,所有更改將保存在所有文件中,并且所有文件將立即關閉。

有關更多詳細信息,請參閱手冊頁。

$ man vim

上一篇:文件管理工具Total Commander 9.20中文版的下載、安裝與注冊激活教程
下一篇:兩種方法解決遠程桌面出現“這可能是由于CredSSP加密Oracle修正”的問題

亦是美網絡,成立于2012年12月5日,是一個致力于操作系統應用與計算機網絡技術的綜合IT網站,為大家不斷提供和推薦有用的網絡教程與技術。

本站文章歸<亦是美網絡 www.bqkhjq.tw>版權所有 網站地圖 豫ICP備12013471號-4 豫公網安備41078202000395號

彩票开奖25选5