Linux 已經(jīng)逐漸成為了最受開發(fā)者歡迎的操作系統(tǒng)。本文將介紹四個(gè)極為實(shí)用的技巧,相信這將能夠提高您在 Linux 下的工作效率和流暢性,也讓工作變得更為舒適、優(yōu)雅。
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 使用簡單,一看就會(huì),不用再多做介紹。
可以將 Markdown 格式作為記錄筆記,整理自己知識(shí)樹的常用格式。
關(guān)于如何方便快捷的構(gòu)建自己的知識(shí)管理平臺(tái),如有需要后續(xù)可以寫一篇文章介紹整體方案。
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 配置:
下載 vim.tar.gz 解壓后,將 vim-config.tar 解壓至用戶根目錄:
tar -xvf vim-config.tar -C ~/
安裝完畢,就這么簡單,所有的插件已經(jīng)包含到壓縮包里了,不需要再下載其它東西。
重新開啟一個(gè)終端窗口就可以使用 Vim 打開代碼看看效果了:
上述界面可以看到,左側(cè)界面是文件列表(默認(rèn)不顯示,F(xiàn)3 開 / 關(guān)),右側(cè)是函數(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 也有簡單的說明,算是拋磚引玉。
希望通過上述介紹,你能習(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í)簡單到難以置信:只需在當(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
可以看到上述腳本 env_switch.sh 中只有一個(gè)函數(shù),而且并未被調(diào)用。這就是本小節(jié)中的關(guān)鍵技巧所在,利用 source 命令將腳本中的函數(shù)導(dǎo)入當(dāng)前 shell,這樣腳本中的函數(shù)就可以和其他的 shell 命令一樣使用了,如有其他需求,可以在 env_switch.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ì)不斷提升,所謂磨刀不誤砍柴工嘛。
-
Linux
+關(guān)注
關(guān)注
87文章
11310瀏覽量
209615 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
6834瀏覽量
123348 -
python
+關(guān)注
關(guān)注
56文章
4797瀏覽量
84727
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論