im 是一種流行的、功能豐富的和高度可擴展的 Linux 文本編輯器,它的一個特殊功能便是支持用帶密碼各種的加密方法來加密文本文件。
本文中,我們將向你介紹一種簡單的 Vim 使用技巧:在 Linux 中使用 Vim 對文件進行密碼保護。我們將向你展示如何讓一個文件在它創建的時侯以及為了修改目的而被打開了之后獲得安全防護。
要安裝 Vim 完整版,只需運行這些命令:
$ sudo apt install vim #Debian/Ubuntu 系統
$ sudo yum install vim #RHEL/CentOS 系統
$ sudo dnf install vim #Fedora 22+
怎樣在 Linux 中用 Vim 對文件進行密碼保護
Vim 有個 -x 選項,這個選項能讓你在創建文件時用它來加密。一旦你運行下面的 vim 命令,你會被提示輸入一個密鑰:
$ vim -x file.txt
警告:正在使用弱加密方法;參見 :help 'cm'
輸入加密密鑰:*******
再次輸入相同密鑰:*******
如果第二次輸入的密鑰無誤,你就能可以修改此文件了。
被密碼保護的 Vim 文件
等你修改好之后,摁 Esc 和鍵入 :wq 來保存及關閉文件。下次你想打開它編輯一下,你就必須像這樣去輸入密鑰:
$ vim file.txt
需要 "file.txt" 的加密密鑰
警告:正在使用弱加密方法;參見 :help 'cm'
輸入密鑰:*******
假設你輸了一個錯誤的密碼(或者沒輸密碼),你會看到一些垃圾字符。
Vim 中的加密內容
在 Vim 中設置一種強加密方法
注意:警告信息暗示保護文件的是弱加密方法。那么接下來,我們來看看怎么在 Vim 中設置一種強加密方法。
Vim 中文件弱加密
為了查看加密方式(cm)集,鍵入如下:
:help 'cm'
輸出樣例:
*'cryptmethod'* *'cm'*
'cryptmethod' string (默認 "zip")
全局或本地到緩沖區 |global-local|
{not in Vi}
當緩沖區寫進文件中所用的加密方式:
*pkzip*
zip PkZip 兼容方式。 一種弱加密方法。
與 Vim 7.2 及更老版本后向兼容。
*blowfish*
blowfish 河豚加密方式。 中級強度加密方法但有實現上
的瑕疵。需要 Vim 7.3 及以上版本,用它加密的文件不
能被 Vim 7.2 及更老版本讀取。它會添加一個 “種子”,
每次你當你寫入文件時,這個加密字節都不同。
你可以像如下所示的那樣給一個 Vim 文件設置個新的加密方法(本例中我們用 blowfish2s 加密方法)
:setlocal cm=blowfish2
然后鍵入回車和 :wq 保存文件。
對 Vim 文件設置強加密
現在你再打開下面的文件時應該就看不到那條警告信息了。
$ vim file.txt
需要 "file.txt" 的加密密鑰
輸入加密密鑰:*******
你也可以在打開 Vim 文件之后來設置密碼,用 :X 命令就能像上面所示的那樣去設置一個加密密碼。
本文到這里就結束了!文章中我們介紹了怎么通過 Linux 下的 Vim 文本編輯器來給一個文件做加密防護。
永遠記住要用強加密方式及密碼來適當的保護那些可能包含了諸如用戶名及密碼、財務賬戶信息等機密信息的文本文件。
via: https://www.tecmint.com/password-protect-vim-file-in-linux/
作者:Aaron Kili 譯者:ch-cn 校對:wxy
本文由 LCTT 原創編譯,Linux中國 榮譽推出
原文來自:https://linux.cn/article-8547-1.html
本文地址:https://www.linuxprobe.com/vim-secret-protect.html
者 | 良許
責編 | 郭芮
相信大家在使用各種各樣強大的 IDE 寫代碼時都會注意到,代碼中各種類型的關鍵字會用獨特的顏色標記出來,然后形成一套語法高亮規則。這樣不僅美觀,而且方便代碼的閱讀。
而在上古神器 Vim 中,我們通常看到的是黑底白字,沒有任何其它顏色。難道我們的 Vim 就這么枯燥乏味嗎?當然不是,Vim 隱藏了非常多非常實用的功能與技巧,不是老司機根本就不知道。下面來詳細介紹。
在開始之前,我們要先檢查一下系統中是否安裝了 Vim 編輯器。一般來說 Ubuntu 系統是默認自帶的,沒有的小伙伴請先自行安裝。
$ sudo apt-get install vim
然后我們運行以下命令來查看安裝好的 Vim 編輯器的版本。
$ vim -version
接下來,我們就可以為 Vim 編輯器添加配色方案。為了能看出效果,我們準備了一個名為 login.sh 的 bash 文件,它的內容如下:
login.sh
!/bin/bash
echo "Type your username"
read username
echo "Type your password"
read password
if [[ ( $username=="admin" && $password=="secret" ) ]]; then
echo "Authorized user"
else
echo "Unauthorized user"
fi
!/bin/bash
$ vim login.sh
運行以下命令使用 Vim 編輯器打開該文件:
$ vim login.sh
啟用/禁用語法高亮顯示
有些發行版的 Vim 編輯器已經幫你默認啟用語法高亮,而有些發行版卻沒有。如果沒有默認打開語法高亮,那么我們就需要自行打開。
打開的方法其實也很簡單。在 Vim 編輯器中打開 login.sh 文件后,按 ESC 鍵并鍵入 :syntax on ,語法高亮顯示就打開了,非常方便。
同樣,關閉語法高亮也很簡單,只需按 ESC 鍵并鍵入 :syntax off即可。
永久啟用或禁用語法高亮顯示
剛剛那種打開語法高亮的方法只是暫時性的,一旦當前文件關閉,下次打開文件就需要重新打開語法高亮。
如果想要永久啟用或禁用語法高亮顯示,就需要修改 .vimrc 文件。首先,我們使用 Vim 打開 .vimrc 文件。
$ sudo vim ~ / .vimrc
然后,在打開的文件中添加一句 syntax on 命令,代表永久啟用語法高亮顯示。最后再輸入 :wq 保存并關閉文件。
如果想要永久禁用語法高亮,則添加 syntax off 命令即可。
改變配色方案
在默認情況下,打開語法高亮后 Vim 為你應用了一套默認的配色方案,而實際上 Vim 還有很多套配色方案可供我們使用,我們可以自行去修改。
安裝 Vim 后,顏色方案文件位于 /usr/share/vim/vim*/colors/中。我們可以運行以下命令來查看 Vim 配色方案文件的列表。
$ ls -l /usr/share/vim/vim*/colors/
可以看出 Vim 為我們提供了非常多的配色方案,我們可以根據自己的需要自由選擇。假設,我們有一個 hello.html 的 html 文件,我們想要將它的的配色方案改為 morning 類型。
hello.html
<html>
<head>
<title> Welcome </title>
</head>
<body>
<p> Hello Everybody, Welcome to our site </p>
</body>
</html>
我們首先運行以下命令在 Vim 中打開這個 html 文件。
$ vim hello.html
按 ESC 并鍵入 :colorscheme morning ,這樣我們就更改了文件當前的顏色方案。
應用新顏色方案后,效果如下圖顯示。但這種更改依然是暫時的,關閉編輯器后配色方案將被重置。
如果想要永久設置特定的配色方案及背景,那么我們需要再次打開 .vimrc 文件并添加以下命令文本。下面配置的是夜晚配色方案,會將背景顏色設置為深色。
color evening
set background=dark
之后再重新打開剛才的文件,效果就會變成如下圖所示。
根據語言選擇配色方案
Vim 編輯器支持多種語言的語法,例如 PHP,Perl,Python,awk 等。根據不同語言,它會應用一套相應語言的配色方案。
比如現在有一個名為 average.py 的 Python 文件,我們用 Vim 編輯器打開它。通過 Vim 編輯器的默認配色方案,文件的顯示效果如下圖所示。
這是一個 Python 文件,但如果我們想以 Perl 的語法風格來顯示,要怎么操作?我們只需輸入 :set syntax=perl ,按 Enter 鍵就可以了,效果如下圖所示。
:set syntax=perl
自定義配色方案
前面所介紹的那些配色方案,其實都是系統自帶的,我們只是選擇一下而已。如果我們想要個性化一點,自定義一套配色方案,要怎么操作?強大的 Vim 也是支持你這個需求的!
一般而言,語法需要高亮的無非就是 變量、注釋、常量 之類的,Vim 編輯器支持的語法高亮組有如下 9 個:
Group Name | Description |
Identifier | 變量 |
Statement | 關鍵字,例如 if,else,do,while等 |
Comment | 注釋 |
Type | 數據類型,如 int、double、string等 |
PreProc | 預處理器語句,比如 #include |
Constant | 常量,如數字、帶引號的字符串、真/假等 |
Special | 特殊符號,如“\t”、“\n”等 |
Underlined | 帶下劃線的文本 |
Error | 錯誤 |
下面舉個例子。在 Vim 編輯器中打開名為 leap.py 的 Python 腳本文件。默認情況下,該文件的語法高亮顯示如下圖所示。
如果我們想把關鍵字變為紅色,該怎么操作?只需輸入 :hi Statement ctermfg=red 即可。這時,if 和 else 的顏色將變為紅色。
:hi Statement ctermfg=red
當然,對于注釋、常量、數據類型,我們也可以使用同樣的方法來改變顏色。這樣一來,你就會形成一套自己的配色方案,感覺是不是很酸爽?
作者:良許,目前就職于一家世界500強外企,專注于Linux應用開發。本文首發于個人公眾號「良許Linux」主要分享Linux方面干貨,歡迎關注。
聲明:本文為作者投稿,版權歸其個人所有。
【END】
篇文章介紹一些 vim 使用技巧:
在 vim 中,可以使用 :r !cmd 命令執行 shell 中的 cmd 命令,并把該命令的打印結果寫入到當前光標的下一行。
例如,:r !date 命令執行 shell 的 date 命令,打印當前的時間,把這個打印結果寫入到當前光標的下一行。
也可以在 r 命令的前面加上數字指定要寫入到哪一行之后,而不是寫入到當前光標的下一行。
例如,:2r !date 命令是把打印結果寫入到第二行的后面,也就是寫入到第三行,原先第三行會挪到第四行,后面的內容依此類推。
注意:如果不加感嘆號 ‘!’,那么后面跟著的參數會被認為是文件名,如果存在該文件,會讀取該文件內容,寫入到當前光標的下一行。如果該文件不存在,則報錯提示找不到文件。例如, :r date 命令是讀取名為 date 的文件內容,寫入到當前光標的下一行。
這里的 :r 是 :read 命令的縮寫。
在 vim 中,用 :help :r 命令查看 :r !cmd 和 :r name 命令的幫助說明。部分關鍵說明如下:
:r[ead] [++opt] [name]
Insert the file [name] (default: current file) below the cursor.
:{range}r[ead] [++opt] [name]
Insert the file [name] (default: current file) below the specified line.
:[range]r[ead] !{cmd}
Execute {cmd} and insert its standard output below the cursor or the specified line.
在 vim 中,可以使用 :TOhtml 命令來將當前文件轉換出 html 格式文件。注意這個命令的大小寫,不能寫為 :tohtml 的形式。
:TOhtml 命令基于整個文件內容轉成一個新的 html 文件,拆分新的 vim 水平窗口顯示轉換后的 html 文件內容。如有需要,可以自行修改文件內容做一些調整。最后,保存該 html 文件即可。
注意:這個 html 文件需要在 vim 中保存后才會生成本地文件,:TOhtml 命令并沒有直接生成本地的 html 文件,也不會修改原有文件本身的內容,而是生成新的 html 文件。
如果只是需要轉某幾行代碼(例如30行到42行),則執行 :30,42TOhtml 命令。
如果當前 vim 配置成顯示行號,所轉換出來的 html 文件中也會帶有行號。不想帶有行號的話,可以在轉換之前,先執行 :set nonu 命令設置為不顯示行號。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。