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