4個(gè)技巧,Linux 下讓工作效率翻倍!
Linux 已經(jīng)逐漸成為了最受開發(fā)者歡迎的操作系統(tǒng)。本文將介紹四個(gè)極為實(shí)用的技巧,相信這將能夠提高您在 Linux 下的工作效率和流暢性,也讓工作變得更為舒適、優(yōu)雅。
文中軟件安裝命令以 Ubuntu 為例,其它發(fā)行版類似。
1. 跳轉(zhuǎn)目錄優(yōu)雅順滑
1.1 bd 命令
快速回到 Bash 中的特定父目錄,而不是多余地鍵入“cd ../../..”。
如果您在此路徑中
/home/radia/work/python/tkinter/one/two,并且想快速轉(zhuǎn)到目錄 python,只需鍵入:
bd?python
或者僅輸入目錄的前幾個(gè)字母,如匹配多個(gè)目錄,則回到最近的一個(gè):
bd?p
示例:

bd 命令安裝:
sudo?wget?--no-check-certificate?-O?/usr/bin/bd?https://raw.githubusercontent.com/vigneshwaranr/bd/master/bd
sudo?chmod?+rx?/usr/bin/bd
echo?'alias?bd=".?bd?-si"'?>>?~/.bashrc
source?~/.bashrc
要啟用區(qū)分大小寫的目錄名稱匹配,請(qǐng)?jiān)趧e名中使用 -s 代替 -si:
如希望了解更多可以訪問開發(fā)者 GitHub:
https://github.com/vigneshwaranr/bd
1.2 cd 命令的一些常用技巧
cd 后面不跟任何參數(shù),回用戶主目錄,等同:cd ~。
cd
cd?~
cd - 回退,返回之前目錄:
cd?-
1.3 自定義命令,跳轉(zhuǎn)到常用目錄
對(duì)于經(jīng)常使用的目錄,可以增加一條自定義命令,實(shí)現(xiàn)一鍵直達(dá)。這點(diǎn)在下文詳解,先看個(gè)效果。
如果您在此路徑中
/home/radia/work/python/tkinter/one/two,并且想快速轉(zhuǎn)到目錄?/home/radia/work/linux/linux-3.16.6,然后只需鍵入:
cl
示例:

2. 多終端操作
在 Linux 終端操作時(shí),任意分割屏幕為多個(gè)窗口,減少鼠標(biāo)操作,都是提高效率的好辦法。
在此,推薦 Terminator。安裝方法:
sudo?apt-get?install?terminator
安裝完成后 CTRL + ALT + T 打開軟件,或者在所有程序中搜索 terminator。
如下圖所展示了一個(gè)使用快捷鍵分屏出三個(gè)小窗口的示例,并且將左下窗口重命名為 log。
這樣分割的三部分:
左下角可以專門用來顯示實(shí)時(shí)串口log; 左上側(cè)可以用來編譯代碼,查看編譯報(bào)錯(cuò)等; 右側(cè)可以編輯代碼,瀏覽文件等。

當(dāng)然,各個(gè)分屏的大小也是可以靈活調(diào)節(jié)的,鼠標(biāo)拖動(dòng)和快捷鍵?CTRL + SHIFT + ↑ ↓ ← →?都可以實(shí)現(xiàn)。
如果一個(gè)標(biāo)簽頁不能滿足需求,可以使用快捷鍵?CTRL + SHIFT + T?開啟多個(gè)標(biāo)簽頁,標(biāo)簽頁也可以編輯標(biāo)題,便于區(qū)分。
常用的快捷鍵如下:
CRTL + SHIFT + T,開新標(biāo)簽頁CRTL + SHIFT + E,垂直方向分屏CRTL + SHIFT + O,水平方向分屏`ALT + ↑ ↓ ← →`` 在同一個(gè)標(biāo)簽頁中的各個(gè)分屏之間切換 CTRL + PAGEUP / PAGEDOWN?左右切換不同標(biāo)簽頁
快捷鍵也可以按照自己的習(xí)慣進(jìn)行配置,比如切換標(biāo)簽頁的快捷鍵是?CRTL + PAGEUP/PAGEDOWN,對(duì)于這樣一個(gè)常用操作,手指移動(dòng)到?PAGEUP/PAGEDOWN?按鍵,距離還是太長了,我習(xí)慣將其配置為 ALT + H 和 ALT + L ,因?yàn)?ALT 按鍵配合方向鍵可以切換同一標(biāo)簽頁中的不同分屏,索性也就讓 ALT 來切換不同標(biāo)簽頁。選擇 H 和 T 是因?yàn)榱?xí)慣了 Vim 中 H 和 T 的左右移動(dòng)。
將常用功能單獨(dú)預(yù)留一個(gè)終端窗口,并且編輯終端標(biāo)題,可以提高效率。按照自己的習(xí)慣分屏窗口,調(diào)整窗口,再結(jié)合下一小節(jié)中配制出的強(qiáng)大 Vim,就可以輕松打造自己專屬且高效的 IDE 了。
3. 文件編輯
3.1 Markdown編輯器推薦
Markdown 是目前最為流行的標(biāo)記語言,可以給常規(guī)的文本文件賦予:格式排版、插入圖片、插入圖表、插入代碼等實(shí)用功能,此處推薦 Typora 編輯器,文藝風(fēng)格,功能強(qiáng)大。
Tpyora 安裝:
wget?-qO?-?https://typora.io/linux/public-key.asc?|?sudo?apt-key?add?-
#?add?Typora's?repository
sudo?add-apt-repository?'deb?https://typora.io/linux?./'
sudo?apt-get?update
#?install?typora
sudo?apt-get?install?typora
Markdown 和 Tpyora 使用簡(jiǎn)單,一看就會(huì),不用再多做介紹。
可以將 Markdown 格式作為記錄筆記,整理自己知識(shí)樹的常用格式。
Typora 官網(wǎng):https://www.typora.io
3.2 代碼編輯與查看
被公認(rèn)最好用的代碼編輯器當(dāng)然是 Vim,但許多功能配置起來有些繁瑣。需要花大量的時(shí)間去對(duì)比、研究各種插件,這個(gè)過程對(duì)于初學(xué)者是不友好的。
本文先不對(duì)任何 Vim 插件做對(duì)比,避免眼花繚亂,陷入選擇恐懼癥,而是直接附上我多年積累、一直在使用的 Vim 配置壓縮包,直接解壓就可以使用。建議還沒有形成自己使用習(xí)慣的讀者使用我提供的版本,先用起來,在實(shí)際使用中慢慢理解,相信過不了多久就能習(xí)慣 Vim,再根據(jù)自己需求調(diào)整或重新配置。
3.2.1 Vim 安裝與快速配置
Vim 安裝方法:
sudo?apt-get?install?vim
Vim 配置:
https://pan.baidu.com/s/1opcy7owSzThNmF04aMF3Ow
提取碼:b82k
下載 vim.tar.gz 解壓后,將 vim-config.tar 解壓至用戶根目錄:
tar?-xvf?vim-config.tar??-C?~/
安裝完畢,就這么簡(jiǎn)單,所有的插件已經(jīng)包含到壓縮包里了,不需要再下載其它東西。
重新開啟一個(gè)終端窗口就可以使用 Vim 打開代碼看看效果了:

上述界面可以看到,左側(cè)界面是文件列表(默認(rèn)不顯示,F(xiàn)3 開/關(guān)),右側(cè)時(shí)函數(shù)列表(默認(rèn)顯示,F(xiàn)9 開/關(guān)),可以使用CTRL + W 在各個(gè)區(qū)域之間跳轉(zhuǎn),在三個(gè)界面上都可以像編輯文件一樣,通過 h、j、k、l 移動(dòng)光標(biāo)定位。
在函數(shù)列表項(xiàng)上按回車鍵即可跳轉(zhuǎn)到指定函數(shù)。
在文件列表項(xiàng)上按回車鍵,打開相應(yīng)文件;按 i 或 s,以水平分割或縱向分割窗口打開文件,這個(gè) Vim 的分割窗口的功能,查看代碼很實(shí)用。
3.2.2 搜索一個(gè)文件
使用 F3 呼出的文件列表,在同目錄下打開文件還是比較方便的,但如果需要打開其它位置的文件還是不太方便,可以按 F5 呼出文件查找窗口,輸入項(xiàng)目中的文件名,快速開啟文件。
3.2.3 跳轉(zhuǎn)到函數(shù)定義
查看代碼必備的功能就是快速到達(dá)函數(shù)或變量的定義位置。要實(shí)現(xiàn)這個(gè)功能,首先需要?jiǎng)?chuàng)建索引。
在項(xiàng)目根目錄下執(zhí)行:
ctags?-R?*
//或者指定需要建立索引的語言
ctags?--languages=c,c++,java?-R
執(zhí)行時(shí)間根據(jù)項(xiàng)目中源碼數(shù)量而定,文件多則創(chuàng)建索引的時(shí)間會(huì)久一些。執(zhí)行完成之后,在項(xiàng)目跟目錄下會(huì)生成一個(gè) tags 文件。這樣再次在該目錄下,打開 Vim 就可以使用 CTRL + ] 快捷鍵,跳轉(zhuǎn)到函數(shù)或變量的定義位置了,使用 CTRL + T 返回原來的位置。
3.2.4 其它
上述給出的這些基本操作,已經(jīng)基本能夠滿足日常所有的需求。如果喜歡折騰,熟悉之后可以探索更多功能,還可以加快查找速度,這些在 vim.tar.gz 中的 readme 也有簡(jiǎn)單的說明,算是拋磚引玉。
希望通過上述介紹,你能習(xí)慣并喜歡上 Vim。
這套配置默認(rèn)開啟了鼠標(biāo)的支持,可以通過鼠標(biāo)定位光標(biāo)的焦點(diǎn),使用滾輪翻頁代碼,這是為了便于初學(xué)者上手,后續(xù)熟悉了之后建議關(guān)閉此功能,因?yàn)殚_啟鼠標(biāo)功能后會(huì)損失鼠標(biāo)的右鍵菜單,鼠標(biāo)也不如鍵盤操作的效率高。
關(guān)閉 Vim 中鼠標(biāo)功能:
vim?~/.vimrc
//在303行前加引號(hào),將set?mouse=a注釋掉即可
"?set?mouse=a
4. 自定義 shell 命令
Linux 的精髓就是腳本,可以對(duì)常用操作加入邏輯關(guān)系,完成一系列操作,解放我們的雙手,這也是程序員喜歡使用 Linux 的一個(gè)主要原因。
4.1 cl 命令的實(shí)現(xiàn)
先來看看上文提到的 cl 命令,其能夠?qū)崿F(xiàn)快速跳轉(zhuǎn)到常用的 Linux 源碼目錄,這是如何實(shí)現(xiàn)的呢?
其實(shí)簡(jiǎn)單到難以置信:只需在當(dāng)前用戶根目錄下的 .bashrc 文件中增加命令別名。
按照如下命令嘗試一下吧,將其中
/home/radia/work/linux/linux-3.16.6/?替換成自己的常用路徑:
echo?'alias?cl="cd?/home/radia/work/linux/linux-3.16.6/"'?>>?~/.bashrc
source?~/.bashrc

上圖可以看到,在添加之前 cl 命令不可用,添加之后就能夠?qū)崿F(xiàn)功能,成功跳轉(zhuǎn)到指定目錄了。
注:上述操作僅需操作一次,在添加后開啟的所有終端就都包含了 cl 命令。
4.2 來嘗試一個(gè)功能更復(fù)雜的命令
邏輯更復(fù)雜的命令,就不能像上述cl一樣,直接寫在?~/.bashrc?文件中了。
假設(shè)如下場(chǎng)景:
A 工作場(chǎng)景時(shí),需要開啟 A 場(chǎng)景所需的軟件 A1、A2、A3;B 場(chǎng)景時(shí),又需要軟件 B1、B2、B3 的支持。那么可以新增一條命令 env_switch 完成這樣的工作環(huán)境的切換
env_switch?A?start?#開啟A工作環(huán)境下的軟件A1,A2,A3
env_switch?A?stop?#關(guān)閉A工作環(huán)境下的軟件A1,A2,A3
env_switch?B?start?#開啟B工作環(huán)境下的軟件B1,B2,B3
env_switch?B?stop?#開啟B工作環(huán)境下的軟件B1,B2,B3
實(shí)現(xiàn)如下:
在任意目錄下,如?/home/radia/cmd,創(chuàng)建腳本文件 env_switch.sh。
加入如下內(nèi)容,其中開啟、關(guān)閉軟件使用 echo 替代了,實(shí)際使用時(shí)替換為軟件的開啟命令即可:
#!/bin/bash
function?env_switch()
{
????if?[?$1?=?"A"?];?then
????????echo?"A1,A2,A3?"
????????if?[?$2?=?"start"?];then
????????????echo?"will?be?opened"
????????elif?[?$2?=?"stop"?];?then
????????????echo?"will?be?closed"
????????fi
????elif?[?$1?=?"B"?];then
????????echo?"B1,B2,B3"
????????if?[?$2?=?"start"?];then
????????????echo?"will?be?opened"
????????elif?[?$2?=?"stop"?];?then
????????????echo?"will?be?closed"
????????fi
????fi
}
增加執(zhí)行權(quán)限:
chmod?+x?env_switch.sh
放到 ~/.bashrc 文件中,這是為了在開啟每個(gè)終端時(shí),都自動(dòng)載入我們自定義的命令:
echo?'source?/home/radia/cmd/env_switch.sh'?>>?~/.bashrc
source?~/.bashrc

可以看到上述腳本 envswitch.sh 中只有一個(gè)函數(shù),而且并未被調(diào)用。這就是本小節(jié)中的關(guān)鍵技巧所在,利用 source 命令將腳本中的函數(shù)導(dǎo)入當(dāng)前 shell,這樣腳本中的函數(shù)就可以和其他的 shell 命令一樣使用了,如有其他需求,可以在 envswitch.sh 文件中增加函數(shù)即可,增加一個(gè)函數(shù),就會(huì)新增一條命令。
這種方法適合那些你每天都在做的一系列操作,歸納后形成一個(gè)常用命令,是個(gè)不錯(cuò)的選擇。
另外在開發(fā)過程中一些測(cè)試場(chǎng)景,如果需要多個(gè)步驟的操作,而且在一段時(shí)間內(nèi)會(huì)頻繁使用,則建議編寫成腳本即可,無需增加為命令。
4.3 再談?wù)?bd 命令
細(xì)心的同學(xué)可能已經(jīng)發(fā)現(xiàn)了,其實(shí)我們之前使用的 bd 命令也只是一個(gè)才 50 多行的小腳本,我們平時(shí)在使用中也可以花時(shí)間寫一些自己的小腳本,這樣不斷積累下來,工作效率才會(huì)不斷提升,所謂磨刀不誤砍柴工嘛。
5. 尾聲
如果上述這些小技巧能對(duì)您的工作、學(xué)習(xí)帶來便利,將是我最愿意看到的。感謝閱讀!
來源:blog.csdn.net/daocaokafei/article/details/117384034

●最全的 Linux 學(xué)習(xí)思維導(dǎo)圖,建議收藏!
●超給力,從計(jì)算機(jī)基礎(chǔ)到云原生容器化,83 張全領(lǐng)域高清思維導(dǎo)圖免費(fèi)下載!
