一、包管理器
包管理器(Package Manager)是一種自動(dòng)化工具,用于安裝、更新、配置、移除和管理計(jì)算機(jī)程序庫中的軟件包。在操作系統(tǒng)和軟件開發(fā)領(lǐng)域,包管理器使用戶能夠輕松管理各種軟件包,包括它們的依賴關(guān)系、版本和配置,而無需手動(dòng)處理復(fù)雜的安裝和更新過程。本文將簡(jiǎn)要介紹兩種常見的包管理器。
1.1 apt主要使用發(fā)行版:debian及其衍生版,如ubuntu、linux Mint等功能:支持從軟件倉庫自動(dòng)下載、安裝、更新和卸載軟件包,同時(shí)自動(dòng)處理軟件包之間的依賴關(guān)系常用命令: sudo apt update:更新軟件包列表,以便可以安裝最新版本的軟件包及其依賴項(xiàng)sudo apt install package_name:安裝名為package_name的軟件包及其依賴項(xiàng)sudo apt remove package_name:刪除名為package_name的軟件包,但保留其配置文件sudo apt purge package_name:刪除名為package_name的軟件包及其配置文件sudo apt upgrade:升級(jí)所有已安裝的軟件包到最新版本,同時(shí)解決依賴關(guān)系sudo apt autoremove:刪除不再需要的軟件包和依賴項(xiàng)sudo apt search
1.2 yum主要使用發(fā)行版:red Hat及其衍生版,如centos、Fedora(在Fedora 22及以后版本被DNF取代)功能:YUM是一個(gè)基于RPM的包管理器,能夠自動(dòng)下載、安裝、更新和刪除軟件包,同時(shí)處理依賴關(guān)系常用命令: sudo yum install package_name:安裝指定的軟件包及其依賴項(xiàng)sudo yum groupinstall group_name:安裝指定的軟件包組sudo yum remove package_name:卸載指定的軟件包,但保留其配置文件sudo yum check-update:檢查所有可更新的軟件包sudo yum update:更新所有已安裝的軟件包到最新版本sudo yum list:列出所有可安裝和更新的軟件包sudo yum search keyword:根據(jù)關(guān)鍵字搜索軟件包—
二、Linux編輯器——vim2.1 vim的三種模式普通模式 這是Vim的默認(rèn)模式,也是用戶最常使用的模式。在普通模式下,幾乎所有的按鍵都用來執(zhí)行命令,而不是直接輸入文本。這包括移動(dòng)光標(biāo)、刪除文本、復(fù)制粘貼、搜索替換等操作。要進(jìn)入普通模式,如果你當(dāng)前不在此模式下,只需按Esc鍵即可插入模式 在插入模式下,Vim的行為類似于大多數(shù)其他文本編輯器,即你輸入的任何字符都會(huì)被直接插入到文本中。要進(jìn)入插入模式,你可以從普通模式開始,然后使用i(在當(dāng)前光標(biāo)位置插入)、a(在當(dāng)前光標(biāo)位置的下一個(gè)字符開始插入)、o(在當(dāng)前光標(biāo)所在行的下一行開始新行并插入)等命令之一命令行模式 命令行模式不是Vim中最常用的模式,但它非常強(qiáng)大,允許你執(zhí)行更復(fù)雜的命令,如搜索替換、保存文件、退出Vim等。在命令行模式下,你可以輸入以冒號(hào)(:)開頭的命令。要從普通模式進(jìn)入命令行模式,只需輸入冒號(hào)(:)即可。執(zhí)行完命令后,Vim通常會(huì)返回到普通模式 :help vim-modes:查看當(dāng)前vim的所有模式—
2.2 vim普通模式常用命令2.2.1 移動(dòng)光標(biāo)vim可以直接用鍵盤上的光標(biāo)來上下左右移動(dòng),但正規(guī)的vim是用小寫英文字母h,j,k,l,分別控制光標(biāo)左、下、上、右移一格G:移動(dòng)到文章的最后、#G:移動(dòng)到第#行g(shù)g:進(jìn)入到文本開始$ :移動(dòng)到光標(biāo)所在行的“行尾”^:移動(dòng)到光標(biāo)所在行的“行首”w:光標(biāo)跳到下個(gè)字的開頭e:光標(biāo)跳到下個(gè)字的字尾b:光標(biāo)回到上個(gè)字的開頭n+l:光標(biāo)移到該行的第n個(gè)位置ctrl+b:屏幕往“后”移動(dòng)一頁ctrl+f:屏幕往“前”移動(dòng)一頁ctrl+u:屏幕往“后”移動(dòng)半頁ctrl+d:屏幕往“前”移動(dòng)半頁—
2.2.2 刪除x:每按一次,刪除光標(biāo)所在位置的一個(gè)字符#x:例如,6x表示刪除光標(biāo)所在位置的“后面(包含自己在內(nèi))”6個(gè)字符X:大寫的X,每按一次,刪除光標(biāo)所在位置的“前面”一個(gè)字符#X:例如,20X表示刪除光標(biāo)所在位置的“前面”20個(gè)字符dd:刪除光標(biāo)所在行#dd:從光標(biāo)所在行開始刪除#行—
2.2.3 復(fù)制yw:將光標(biāo)所在之處到字尾的字符復(fù)制到緩沖區(qū)中#yw:復(fù)制#個(gè)字到緩沖區(qū)yy:復(fù)制光標(biāo)所在行到緩沖區(qū)#yy:例如,6yy表示拷貝從光標(biāo)所在的該行“往下數(shù)”6行文字p:將緩沖區(qū)內(nèi)的字符貼到光標(biāo)所在位置。注意:所有與“y”有關(guān)的復(fù)制命令都必須與“p”配合才能完成復(fù)制與粘貼功能#p:復(fù)制#次—
2.2.4 注釋 注釋指定行 在普通模式下,先將光標(biāo)移動(dòng)到需要注釋的開始,按Ctrl + v,在用上下鍵(通常用j、k)調(diào)整需要注釋的所有行(如果需要注釋的行太多也可以配合#G快速移動(dòng)光標(biāo)),輸入I(大寫i),輸入注釋符//,最后快速按ESC兩次。 取消指定行的注釋 在普通模式下,先將光標(biāo)移動(dòng)到需要取消注釋的開始,按Ctrl + v,再配合j、l鍵選中需要取消的注釋符,按d就刪除了選中的注釋符。 —
2.2.5 其他常用命令r:替換光標(biāo)所在處的字符u:回到上一個(gè)操作,可執(zhí)行多次Ctrl + r:u操作的恢復(fù)shift + ~:光標(biāo)所在字符大小寫切換shift + r:進(jìn)入替換模式—
2.3 vim命令行模式常用命令在使用末行模式之前,請(qǐng)記住先按「ESC」鍵確定您已經(jīng)處于正常模式,再按:冒號(hào)即可進(jìn)入末行模式。
列出行號(hào) 「set nu」: 輸入「set nu」后,會(huì)在文件中的每一行前面列出行號(hào) 跳到文件中的某一行 「#」:「#」號(hào)表示一個(gè)數(shù)字,在冒號(hào)后輸入一個(gè)數(shù)字,再按回車鍵就會(huì)跳到該行了,如輸入數(shù)字15,再回車,就會(huì)跳到文章的第15行 查找字符 「/關(guān)鍵字」: 先按「/」鍵,再輸入您想尋找的字符,如果第一次找的關(guān)鍵字不是您想要的,可以一直按「n」會(huì)往后尋找到您要的關(guān)鍵字為止「?關(guān)鍵字」:先按「?」鍵,再輸入您想尋找的字符,如果第一次找的關(guān)鍵字不是您想要的,可以一直按「n」會(huì)往前尋找到您要的關(guān)鍵字為止 保存文件 「w」: 在冒號(hào)輸入字母「w」就可以將文件保存起來 離開vim 「q」:按「q」就是退出,如果無法離開vim,可以在「q」后跟一個(gè)「!」強(qiáng)制離開vim「wq」:一般建議離開時(shí),搭配「w」一起使用,這樣在退出的時(shí)候還可以保存文件 執(zhí)行外部命令后返回vim 在 Vim 的底行模式中,! 符號(hào)有一個(gè)特殊的作用,它允許你執(zhí)行外部命令。當(dāng)你以 ! 開頭輸入一個(gè)命令時(shí),Vim 會(huì)退出到 shell 環(huán)境中執(zhí)行這個(gè)命令,并在命令執(zhí)行完畢后返回到 Vim。這個(gè)功能允許你直接從 Vim 內(nèi)部調(diào)用系統(tǒng)命令,比如查看文件、搜索文本、編譯程序等 分屏 在底行模式下輸入:vs文件名,Vim 會(huì)在當(dāng)前窗口的右側(cè)(或左側(cè),取決于你的 Vim 配置和當(dāng)前分屏情況)垂直地打開一個(gè)新窗口,并嘗試加載指定的文件名Ctrl+w w:在分屏之間切換光標(biāo):wq:保存并退出當(dāng)前分屏—
三、配置vimVim的基礎(chǔ)配置主要涉及對(duì)其配置文件.vimrc的編輯,以實(shí)現(xiàn)對(duì)Vim編輯器的個(gè)性化設(shè)置。
在目錄/etc/vim/下面,有個(gè)名為vimrc的文件,這是系統(tǒng)中公共的vim配置文件,對(duì)所有用戶都有效在Linux系統(tǒng)中,Vim的配置文件通常位于用戶的家目錄下,文件名為.vimrc。使用命令vim ~/.vimrc打開(或創(chuàng)建).vimrc文件進(jìn)行編輯因?yàn)檫@里配置的文件位于用戶的家目錄下,所以只對(duì)當(dāng)前用戶有效進(jìn)入插入模式(按i鍵),在.vimrc文件中添加所需的配置選項(xiàng)設(shè)置完成后,按下Esc鍵退出插入模式,然后輸入:wq(表示保存并退出)并回車,以保存對(duì).vimrc文件的更改| vim常用功能:
可以直接復(fù)制粘貼到~/.vimrc 中,保存退出直接生效。
代碼語言:JavaScript代碼運(yùn)行次數(shù):0運(yùn)行復(fù)制“`javascript syntax on ” Set syntax highlightingset number ” Set the line numberset tabstop=4 ” Set an indent to account for 4 spacesset autoindent ” Set up automatic indentationset mouse=a ” Set mouse is always available, set mouse= (empty) cancelset cc=80 ” column 80 highlighted, set cc=0 cancellationset cursorline ” Settings to highlight the current rowset cindent ” format C languageset st=4 ” Set the width of the soft tab to 4 spacesset shiftwidth=4 ” The width automatically indented when setting a new line is 4 spacesset sts=4 ” Set the number of spaces inserted when the Tab key is pressed in insertion mode to 4set ruler ” Show the status of the last lineset showmode ” The status of this row is displayed in the lower left corner.set bg=dark ” Show different background tonesset hlsearch ” Enable Search Highlightset laststatus=2 ” Always display the status bar
`syntax on` : 設(shè)置語法高亮`set number ` : 設(shè)置行號(hào)`set tabstop=4` : 設(shè)置一個(gè)縮進(jìn),考慮到4個(gè)空格`set autoindent` : 設(shè)置自動(dòng)縮進(jìn)`set mouse=a` : 設(shè)置鼠標(biāo)總是可用,設(shè)置鼠標(biāo)=(空)取消`set cc=80` : 列80已突出顯示,設(shè)置cc=0取消`set cursorline` : 設(shè)置以突出當(dāng)前行`set cindent` : 格式化 C 語言`set st=4` : 將軟制表符的寬度設(shè)為4個(gè)空格`set shiftwidth=4` : 設(shè)置新行時(shí)自動(dòng)縮進(jìn)的寬度是4個(gè)空格`set sts=4` : 在插入模式下,按下 Tab 鍵時(shí)插入的空格數(shù)設(shè)置為 4`set ruler` : 顯示光標(biāo)當(dāng)前位置的行號(hào)和列號(hào)`set showmode` : 顯示當(dāng)前Vim的工作模式在屏幕的左下角`set bg=dark` : 設(shè)置編輯器的背景色為深色`set hlsearch` : 啟用搜索高亮功能,使得進(jìn)行搜索時(shí)匹配的文本被高亮顯示`set laststatus=2` : 總是顯示狀態(tài)欄另外vim中默認(rèn)是不支持成對(duì)符號(hào)自動(dòng)補(bǔ)全的,這個(gè)也可以配置,不過我一般是不喜歡自動(dòng)補(bǔ)全的,這個(gè)看個(gè)人喜好: <p>代碼語言:javascript代碼運(yùn)行次數(shù):0<svg fill="none" height="16" viewbox="0 0 16 16" width="16" xmlns="<a href="https://www.php.cn/link/c9041cfd2a40932691855abd98fd219a">http://www.w3.org/2000/svg"><path</a> d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>運(yùn)行<svg fill="none" height="16" viewbox="0 0 16 16" width="16" xmlns="<a href="https://www.php.cn/link/c9041cfd2a40932691855abd98fd219a">http://www.w3.org/2000/svg"><path</a> clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor" fill-rule="evenodd"></path></svg>復(fù)制```javascript inoremap ' ''<esc>iinoremap " ""<esc>iinoremap ( ()<esc>iinoremap [ []<esc>iinoremap <esc>iinoremap { {<cr>}<esc>O</esc></cr></esc></esc></esc></esc></esc>
其中大括號(hào)除了將光標(biāo)移入括號(hào)內(nèi),還會(huì)另起一行并縮進(jìn)。
本文到此結(jié)束,如果您從中有所收獲,請(qǐng)不吝賜予您的支持和關(guān)注。