主頁 >  其他 > 隨處可編輯的編輯器之神VIM

隨處可編輯的編輯器之神VIM

2021-08-31 19:11:37 其他

據說這世界上只有三種編輯器:Vim,Emacs 和 其他編輯器,其中 Vim 被稱作編輯器之神,Emacs 被稱作神的編輯器,當然,其他編輯器永遠只能是其他編輯器,

拿一位 網友的話 來說,VIM 的優點就是:快!慘絕人寰的快!模式編輯高度靈活,定制性強,用鍵盤能完成所有的事情,鍵盤黨的最愛,逼格高… ... 當然它也有缺點:那就是,懵逼,一直懵逼,全程懵逼(我在哪兒,我在干什么,這特么是什么鬼玩意,我要怎么退出… …)

事實上,VIM 可以稱得上是“上古神器”了,因為其初始版本的發行早在1991年11月2日(不過現在已經更新到版本8了),而現如今 IDE 編輯器如 VSCode,Sublime Text 等,由于其多樣的功能且容易上手,顯然更受大眾的喜愛和歡迎,

但為什么在眾多的選擇中,我最后還是入了它的坑呢?

VIM 是許多老式程式員和鍵盤愛好者的最愛(啊,解釋一下,我不是程式猿,最主要我不老(狗頭

VIM 可以完全通過鍵盤進行導航,從而使其更快,更高效,

它也是高度可定制的(在一定程度上可以定制命令列程式),你可以使用許多鍵盤快捷鍵來加快代碼編輯程序,甚至更好的方法是創建自定義命令以適合你自己的作業流程,

Vim極其穩定,快速,對于資深的命令列愛好者和新的感興趣的用戶都非常有用,

但由于完全缺乏UI,Vim因其最陡峭的學習曲線而獲得大獎,也許是整體上最差的用戶體驗之一,

以上都是網友總結的,當然我也認同,不過對我來說,我選擇 VIM 作為主力編輯器,只是因為之前我在 Windows 本地安裝的 jupyter lab 不能用了(沒找到原因和解決辦法),而 Sublime Text 安裝上打開就一直卡(不知道什么原因),又不想用 VSCode,因為打開太慢了,考慮到輕便、快捷、不卡頓,并且隨處可編輯,一個鍵盤走天下的特點,我選擇了 VIM,又因為之前在 Linux 編輯大檔案也用 VIM,所以干脆也在 Linux 上重新配置了一遍 VIM,當然 Mac 也不能落單,所以給 Mac 上也重新配置了 VIM,

接下來就是記錄在 Windows,Mac,Linux 三個作業系統上對編輯器之神——VIM 及其插件的安裝和使用程序,也給感興趣的小伙伴一個參考~

目錄
  • Windows VIM 編輯器及其插件安裝
    • 001 下載和安裝 Windows VIM
    • 002 使用 Vundle 安裝和管理 VIM 插件
    • 003 安裝插件中
    • 004 安裝完畢
    • 005 NERDTree 插件安裝成功打開 gVim 后的界面
    • 006 VIM 插件推薦
    • 007 常見問題及解決辦法
    • 008 Vundle 卸載插件
    • 009 VIM 更換字體
    • 010 檔案顯示行號
    • 011 對檔案的基本操作
    • 012 Win10中gVIM與外部/系統的復制剪切粘貼互通
    • 013 VIM 開啟滑鼠功能
    • 014 遺留問題
    • 015 參考資料
  • Mac VIM 編輯器及其插件安裝
    • 001 Install vim and macvim
      • Q & A
    • 002 Install ctags & cscope
    • 003 Find the location of installed vim
      • Q & A
    • 004 Install bundle
    • 005 Configure ~/.vimrc
    • 006 Install vim plugins
    • 007 References
  • Linux VIM 編輯器及其插件安裝
    • 001 下載 VIM
    • 002 解壓 VIM
    • 003 配置和安裝 VIM
    • 004 編輯用戶目錄下的 .bashrc檔案
    • 005 Install bundle
    • 006 新建 vim 用戶組態檔并編輯
    • 007 VIM 插件安裝
    • 008 遇到的問題
    • 009 參考資料

Windows VIM 編輯器及其插件安裝

先看一下 Windows VIM 編輯器及其插件安裝完成后的最終效果:

image-20210804110552115

這就是我在 Windows 上的主力編輯器了,接下來就記錄下 Windows VIM 編輯器及其插件的具體安裝程序~

001 下載和安裝 Windows VIM

從 https://www.vim.org/download.php 下載和安裝 gVIM https://github.com/vim/vim-win32-installer/releases/download/v8.2.2825/gvim_8.2.2825_x86_signed.exe (我安裝在 D 盤)

002 使用 Vundle 安裝和管理 VIM 插件

##### 01 在 Windows VIM 軟體的安裝路徑下新建檔案夾 bundle
D:/Vim/vim82/bundle

##### 02 在 bundle 檔案夾下新建檔案夾 Vundle.vim
D:/Vim/vim82/bundle/Vundle.vim

##### 03 打開 Git Bash 終端,克隆Vundle倉庫到上述檔案夾
git clone https://github.com/VundleVim/Vundle.vim.git D:/Vim/vim82/bundle/Vundle.vim

##### 04 打開 Git Bash 終端,編輯 VIM 組態檔 _vimrc
vim D:/Vim/_vimrc
### 向 _vimrc 中添加如下內容(注意:一個雙引號 " 加空格是類似 # 加空格的注釋作用):
set nocompatible
filetype off
set rtp+=D:/Vim/vim82/bundle/Vundle.vim
call vundle#begin('D:/Vim/vim82/bundle/Vundle.vim/plugins')
Plugin 'VundleVim/Vundle.vim'
Plugin 'tpope/vim-fugitive'
Plugin 'L9'
Plugin 'git://git.wincent.com/command-t.git'
Plugin 'scrooloose/nerdtree'
call vundle#end()
filetype plugin indent on
filetype plugin on

##### 05 以上是實際寫進去的內容,以下是對每一行代碼的解釋:
" 去除VI一致性,必須要添加
set nocompatible
" 必須要添加
filetype off
" 設定包括vundle和初始化相關的runtime path
set rtp+=D:/Vim/vim82/bundle/Vundle.vim
" 指定vundle安裝插件的路徑
call vundle#begin('D:/Vim/vim82/bundle/Vundle.vim/plugins')
" 安裝插件
" 讓vundle管理插件版本,必須首先安裝插件Vundle.vim
Plugin 'VundleVim/Vundle.vim'
" 安裝其他插件
Plugin 'tpope/vim-fugitive'
Plugin 'L9'
Plugin 'git://git.wincent.com/command-t.git'
Plugin 'scrooloose/nerdtree'
" 結束安裝,所有插件安裝必須在下面這行之前進行:
call vundle#end() 
" 加載vim自帶和插件相應的語法和檔案型別相關腳本
filetype plugin indent on
" 忽視插件改變縮進,可以使用以下替代
filetype plugin on

003 安裝插件中

修改完 VIM 組態檔 _vimrc 后,打開 Vim(注意不是 gVim),輸入 :PluginInstall ,即開啟插件安裝程序,一個插件安裝可能需要5~10分鐘,此程序需耐心等待,如果安裝不成功,那就一直安裝,因為有些插件來源是 GitHub,而 GitHub 能否成功連接是要看運氣的~

image-20210720163446885

004 安裝完畢

image-20210720153300181

插件安裝成功的前面是 + 號,否則是 !號,可以看到,vim-fugitive 和 nerdtree 插件安裝成功了,但是其他3個沒有安裝成功,

005 NERDTree 插件安裝成功打開 gVim 后的界面

打開 gVim,敲 F7 鍵,即可看到目錄樹:

image-20210720170807362

006 VIM 插件推薦

##### 01 配置vim安裝目錄下面的_vimrc檔案
### 打開 Git Bash 終端,編輯 VIM 組態檔 _vimrc
vim D:/Vim/_vimrc
### 添加如下內容
Plugin 'VundleVim/Vundle.vim'
Plugin 'tpope/vim-fugitive'
Plugin 'L9'
Plugin 'git://git.wincent.com/command-t.git'
Plugin 'scrooloose/nerdtree'
Plugin 'scrooloose/nerdcommenter'
Plugin 'itchyny/lightline.vim'
Plugin 'altercation/vim-colors-solarized'
Plugin 'mechatroner/rainbow_csv'
Plugin 'junegunn/seoul256.vim'
Plugin 'sheerun/vim-polyglot'
Plugin 'airblade/vim-rooter'
Plugin 'ryanoasis/vim-devicons'
Plugin 'tiagofumo/vim-nerdtree-syntax-highlight'
" Plugin 'ryanoasis/nerd-fonts'
Plugin 'konfekt/vim-office'
Plugin 'jiangmiao/auto-pairs'
Plugin 'machakann/vim-sandwich'
Plugin 'tpope/vim-markdown'
Plugin 'mzlogin/vim-markdown-toc'
Plugin 'iamcco/markdown-preview.nvim'
Plugin 'luochen1990/rainbow'
Plugin 'google/vim-searchindex'
Plugin 'datawraith/auto_mkdir'
"Error: E185: Cannot find color scheme for synload.vim (Line 19)
"solution for the above
Plugin 'jpo/vim-railscasts-theme' 
Plugin 'vim-airline/vim-airline'
Plugin 'vim-airline/vim-airline-themes'
Plugin 'Xuyuanp/nerdtree-git-plugin'
Plugin 'haya14busa/incsearch.vim'
Plugin 'anyakichi/vim-surround'



##### 02 啟動vim,執行 :BundleInstall 即可,vundle常用的命令有:
:BundleList:列舉出串列中(.vimrc中)配置的所有插件
:BundleInstall :安裝串列中全部插件
:BundleInstall!:更新串列中全部插件
:BundleSearch xx:查找xx插件
:BundleClean:清除串列中沒有的插件

##### 03 插件配置,比如 NERDTree
### 打開 Git Bash 終端,編輯 VIM 組態檔 _vimrc
vim D:/Vim/_vimrc
### 添加如下內容:

""""""""""""""""""""""""""""""
"scrooloose/nerdtree
""""""""""""""""""""""""""""""
" 添加 F7 為 NERDTree 插件打開和關閉的快捷方式,注意 :NERDTreeToggle<CR> 是一個整體,中間不能有任何空格; <ESC>:NERDTreeToggle<CR> 是一個整體,中間也不能有任何空格;和 <F7> 中間需要有一個空格,表示用 <F7> 快捷鍵代替那2個整體操作
" F7 NERDTree 快捷鍵設定為 F7
map <F7> :NERDTreeToggle<CR>
imap <F7> <ESC>:NERDTreeToggle<CR>
" 修改樹的顯示圖示
let g:NERDTreeDirArrowExpandable = '+'
let g:NERDTreeDirArrowCollapsible = '-'
" 視窗位置
let g:NERDTreeWinPos='left'
" 視窗尺寸
let g:NERDTreeSize=40
" 視窗是否顯示行號
let g:NERDTreeShowLineNumbers=1
" 顯示隱藏檔案
let g:NERDTreeHidden=1
" 在 vim 啟動的時候默認開啟 NERDTree(autocmd 可以縮寫為 au)
autocmd VimEnter * NERDTree



""""""""""""""""""""""""""""""
"jiangmiao/auto-pairs
""""""""""""""""""""""""""""""
 let g:AutoPairsFlyMode = 0 "不要啟用飛行模式,因為會無法手動添加右括號 
 let g:AutoPairs = {'(':')', '[':']', '{':'}',"'":"'",'"':'"'}
 "let g:AutoPairs['<']='>'
 
 
""""""""""""""""""""""""""""""
"luochen1990/rainbow
""""""""""""""""""""""""""""""
let g:rainbow_active = 1
"let rainbow_parenthesis#active = 0 "避免Rainbow Parentheses插件運行時報錯



""""""""""""""""""""""""""""""
"nerdtree-git-plugin settings
""""""""""""""""""""""""""""""
"let g:NERDTreeShowIgnoredStatus = 1
let g:NERDTreeGitStatusShowIgnored = 1

"let g:NERDTreeIndicatorMapCustom = {
let g:NERDTreeGitStatusIndicatorMapCustom = {
    \ "Modified"  : "?",
    \ "Staged"    : "?",
    \ "Untracked" : "?",
    \ "Renamed"   : "?",
    \ "Unmerged"  : "═",
    \ "Deleted"   : "?",
    \ "Dirty"     : "?",
    \ "Clean"     : "??",
    \ 'Ignored'   : '?',
    \ "Unknown"   : "?"
    \ }


""""""""""""""""""""""""""""""
"airline
""""""""""""""""""""""""""""""
set t_Co=256      "在windows中用xshell連接打開vim可以顯示色彩
let g:airline#extensions#tabline#enabled = 1   " 是否打開tabline
"這個是安裝字體后 必須設定此項" 
let g:airline_powerline_fonts = 1  " 支持 powerline 字體
set laststatus=2  "永遠顯示狀態欄
let g:airline_theme='bubblegum' "選擇主題
let g:airline#extensions#tabline#enabled=1    "Smarter tab line: 顯示視窗tab和buffer
"let g:airline#extensions#tabline#left_sep = ' '  "separater
"let g:airline#extensions#tabline#left_alt_sep = '|'  "separater
"let g:airline#extensions#tabline#formatter = 'default'  "formater
let g:airline_left_sep = '?'
let g:airline_left_alt_sep = '?'
let g:airline_right_sep = '?'
let g:airline_right_alt_sep = '?'


""""""""""""""""""""""""""""""
"vim-nerdtree-syntax-highlight settings
""""""""""""""""""""""""""""""
"Highlight full name (not only icons). You need to add this if you don't have vim-devicons and want highlight.
let g:NERDTreeFileExtensionHighlightFullName = 1
let g:NERDTreeExactMatchHighlightFullName = 1
let g:NERDTreePatternMatchHighlightFullName = 1

"Highlight full name (not only icons). You need to add this if you don't have vim-devicons and want highlight.
let g:NERDTreeHighlightFolders = 1

"highlights the folder name
let g:NERDTreeHighlightFoldersFullName = 1

"you can add these colors to your .vimrc to help customizing
let s:brown = "905532"
let s:aqua =  "3AFFDB"
let s:blue = "689FB6"
let s:darkBlue = "44788E"
let s:purple = "834F79"
let s:lightPurple = "834F79"
let s:red = "AE403F"
let s:beige = "F5C06F"
let s:yellow = "F09F17"
let s:orange = "D4843E"
let s:darkOrange = "F16529"
let s:pink = "CB6F6F"
let s:salmon = "EE6E73"
let s:green = "8FAA54"
let s:Turquoise = "40E0D0"
let s:lightGreen = "31B53E"
let s:white = "FFFFFF"
let s:rspec_red = "FE405F"
let s:git_orange = "F54D27"
let s:gray = "808A87"

let g:NERDTreeExtensionHighlightColor = {} " this line is needed to avoid error
let g:NERDTreeExtensionHighlightColor['o'] = s:gray " sets the color of o files to blue
let g:NERDTreeExtensionHighlightColor['h'] = s:blue " sets the color of h files to blue
let g:NERDTreeExtensionHighlightColor['c'] = s:green " sets the color of c files to blue
let g:NERDTreeExtensionHighlightColor['cpp'] = s:green " sets the color of cpp files to blue
let g:NERDTreeExtensionHighlightColor['c++'] = s:green " sets the color of c++ files to blue


""""""""""""""""""""""""""""""
"vim-devicons settings
""""""""""""""""""""""""""""""`
set encoding=UTF-8

"Can be enabled or disabled
let g:webdevicons_enable_nerdtree = 1

"whether or not to show the nerdtree brackets around flags
let g:webdevicons_conceal_nerdtree_brackets = 1

"adding to vim-airline's tabline
let g:webdevicons_enable_airline_tabline = 1

"adding to vim-airline's statusline
let g:webdevicons_enable_airline_statusline = 1


""""""""""""""""""""""""""""""
"altercation/vim-colors-solarized 配色方案選擇
""""""""""""""""""""""""""""""`
syntax enable
set background=dark
set t_Co=256
colorscheme railscasts


""""""""""""""""""""""""""""""
"scrooloose/nerdcommenter
""""""""""""""""""""""""""""""`
let g:NERDSpaceDelims = 1 " 在注釋符號后加一個空格
let g:NERDCompactSexyComs = 1 " 緊湊排布多行注釋
let g:NERDDefaultAlign = 'left' " 逐行注釋左對齊
let g:NERDAltDelims_java = 1 " JAVA 語言使用默認的注釋符號
let g:NERDCustomDelimiters = {'c': {'left': '/*', 'right': '*/'}} " C 語言注釋符號
let g:NERDCommentEmptyLines = 1 " 允許空行注釋
let g:NERDTrimTrailingWhitespace = 1 " 取消注釋時洗掉行尾空格
let g:NERDToggleCheckAllLines = 1 " 檢查選中的行操作是否成功

007 常見問題及解決辦法

Q:在安裝完上述插件后,打開 Windows Vim / gVim 后,原來的中文選單出現亂碼

A:在中文 Windows 下正確配置字符編碼,需要把以下內容加入你的組態檔 _vimrc 中

##### 01 打開 Git Bash 終端,編輯 VIM 組態檔 _vimrc
vim D:/Vim/_vimrc
### 向 _vimrc 中添加如下內容
set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1
set encoding=utf-8
set termencoding=cp936
language messages zh_CN.UTF-8 
# 特別提醒,以上代碼應該放在 .vimrc 的最頂端,因為 vim 運行程序中 set encoding=xxx 是很危險的,會導致各種亂碼,

008 Vundle 卸載插件

如果要洗掉某個插件,也是要先編輯 ~/.vimrc檔案,洗掉或注釋里面Plugin定義的插件,再打開vim,運行 :PluginClean 命令,會提示你是否要洗掉XX插件,選擇YES就可以洗掉了,

009 VIM 更換字體

我選擇的是ubuntu下的字體,于是從 http://www.fonts2u.com/ubuntu-mono.font 下載了ubuntu mono字體,右鍵本地電腦安裝,在 VIM ~/.vimrc 組態檔非開頭處加入set guifont=Ubuntu\ Mono\ Bold:h12 ,即可,

010 檔案顯示行號

在 VIM ~/.vimrc 組態檔中加入set number ,即可,

011 對檔案的基本操作

##### 只需打開 gVim,輸入以下命令
### 進入特定作業目錄
:NERDTree D:/GitHubDesktop //進入此目錄
### 同時顯示多個檔案
:sp         //水平切分視窗
:vsplit     //垂直切分視窗
### 關閉分屏
:hide   //關閉當前分屏
:only   //僅保留當前分屏
ctrl+W c   //關閉當前視窗
ctrl+w q   //關閉當前視窗,若只有一個分屏會退出vim
### 跳轉到指定行
:n (跳轉到檔案第n行,需要回車)
### 以標簽欄的形式打開多個檔案
# 同時以多標簽形式打開file1 file2等檔案
vim -p file1.c file2.c  ..
# 彈出各個檔案后,你可以像瀏覽器標簽欄一樣滑鼠點擊打開每個檔案;對于用 -p 打開的標簽頁,可以使用 gt,gT可以左切換右切換,也可以使用數字1,2,n,+gt,例如你想切換到第5個標簽頁,就可以使用 5gt,意思是按下5,g,t鍵就可以了
# 已經啟動vim后,還可以在vim的命令模式下面繼續用新標簽打開檔案:
:tabnew file3.c
# 關閉標簽頁
:tabc 關閉當前標簽頁
:tabo 關閉所有的標簽頁

012 Win10中gVIM與外部/系統的復制剪切粘貼互通

##### 001 打開 Git Bash 終端,編輯 gVIM 組態檔 _vimrc
vim D:/Vim/_vimrc
### 向 _vimrc 中添加如下內容:
vmap <C-c> "+y
vmap <C-x> "+c
vmap <C-v> c<ESC>"+p
imap <C-v> <C-r><C-o>+
##### 002 gvim 中操作
復制:滑鼠選中某段文本進入可視塊,然后ctrl+c;
粘貼:gvim 內進入插入模式后ctrl+v,外部直接ctrl+v;
搜索:如果要在gvim中搜索剪貼板內容,先按“/”然后點滑鼠中鍵,筆記本中鍵要在 設定-設備-觸摸板-其他設定-高級設定里例如將3指點擊設定為中鍵(win10下)
剪切:ctrl+x

013 VIM 開啟滑鼠功能

##### 001 編輯 VIM 組態檔 _vimrc
vim D:/Vim/_vimrc
### 向 _vimrc 中添加如下內容:
set mouse=a

014 遺留問題

VIM插件不起作用: Vim-devicons: 圖示都是相同的問號

015 參考資料

  • Windows 下 Vim 安裝與配置 – 陳少文的網站 (chenshaowen.com)
  • Vim插件管理器Vundle - 簡書 (jianshu.com)
  • Vim Awesome
  • VIM學習筆記 檔案瀏覽器(Netrw) - 知乎 (zhihu.com)
  • GVim配置一個漂亮的NerdTree_大娛樂家-CSDN博客_nerdtree
  • Vim的NerdTree插件 - SegmentFault 思否
  • vim或gvim的配置(推薦)_萬無引力的博客-CSDN博客
  • vim教程網 (vimjc.com)
  • 個人的一些 vim 插件和配置推薦 - 某Z的博客 (zsaber.com)
  • https://www.imooc.com/learn/1129
  • https://github.com/oldratlee/vim-practice/blob/master/forwarded-articles/editor-for-programmer.md
  • Linux vi/vim多標簽和多視窗, Tab頁瀏覽目錄, 多Tab頁編輯 (ikeepstudying.com)
  • 最佳代碼編輯器2021:頂級選項指南|插件|微軟|vim_網易訂閱 (163.com)

Mac VIM 編輯器及其插件安裝

001 Install vim and macvim

brew install vim
brew unlink vim
brew install macvim

Q & A

Q1: Error: The following directories are not writable by your user:
/usr/local/include
/usr/local/lib
/usr/local/lib/pkgconfig
A1: 獲取usr/local檔案夾的寫入權限

sudo chown -R $(whoami) /usr/local/*

Q2: Error: [email protected]: wrong number of arguments (given 1, expected 0)
A2: 安裝 cmake,如果安裝不成功,那就一直安裝

brew install cmake

特別提醒:Mac本身是內置了 VIM 編輯器的,但是為了避免由于修改 Mac 內置編輯器導致一些不可控的問題出現,建議像我一樣,在自己的用戶下重新裝一個 VIM,

002 Install ctags & cscope

brew install ctagsbrew install cscope

003 Find the location of installed vim

which vim# /usr/local/bin/vim

Q & A

Q: if not /usr/local/bin/vim, we should edit the file /etc/paths to change the orderA: 修改環境變數: 修改變數加載順序,環境變數哪個寫在前面哪個優先使用,sudo vim /etc/paths# 修改后的順序如下:/usr/local/bin/usr/bin/bin/usr/sbin/sbin# 重新開啟命令列,測驗 which vim, 成功,

004 Install bundle

git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

005 Configure ~/.vimrc

vim ~/.vimrc

# add the following contents:

"set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1
"set encoding=utf-8
"set termencoding=cp936
"language messages zh_CN.UTF-8 

set nocompatible
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin('/Users/xia/.vim/bundle/Vundle.vim/plugins')

Plugin 'VundleVim/Vundle.vim'
Plugin 'tpope/vim-fugitive'
Plugin 'L9'
Plugin 'git://git.wincent.com/command-t.git'
Plugin 'scrooloose/nerdtree'
Plugin 'scrooloose/nerdcommenter'
Plugin 'itchyny/lightline.vim'
Plugin 'altercation/vim-colors-solarized'
Plugin 'mechatroner/rainbow_csv'
Plugin 'junegunn/seoul256.vim'
Plugin 'sheerun/vim-polyglot'
Plugin 'airblade/vim-rooter'
Plugin 'ryanoasis/vim-devicons'
Plugin 'tiagofumo/vim-nerdtree-syntax-highlight'
Plugin 'konfekt/vim-office'
Plugin 'jiangmiao/auto-pairs'
Plugin 'machakann/vim-sandwich'
Plugin 'tpope/vim-markdown'
Plugin 'mzlogin/vim-markdown-toc'
Plugin 'iamcco/markdown-preview.nvim'
Plugin 'luochen1990/rainbow'
Plugin 'google/vim-searchindex'
Plugin 'datawraith/auto_mkdir'
"Error: E185: Cannot find color scheme for synload.vim (Line 19)
"solution for the above
Plugin 'jpo/vim-railscasts-theme' 
Plugin 'haya14busa/incsearch.vim'

call vundle#end()
filetype plugin indent on
filetype plugin on



""""""""""""""""""""""""""""""
"scrooloose/nerdtree
""""""""""""""""""""""""""""""
" 添加 F7 為 NERDTree 插件打開和關閉的快捷方式,注意 :NERDTreeToggle<CR> 是一個整體,中間不能有任何空格; <ESC>:NERDTreeToggle<CR> 是一個整體,中間也不能有任何空格;和 <F7> 中間需要有一個空格,表示用 <F7> 快捷鍵代替那2個整體操作
" F7 NERDTree 快捷鍵設定為 F7
map <F7> :NERDTreeToggle<CR>
imap <F7> <ESC>:NERDTreeToggle<CR>
" 修改樹的顯示圖示
let g:NERDTreeDirArrowExpandable = '+'
let g:NERDTreeDirArrowCollapsible = '-'
" 視窗位置
let g:NERDTreeWinPos='left'
" 視窗尺寸
let g:NERDTreeSize=40
" 視窗是否顯示行號
let g:NERDTreeShowLineNumbers=1
" 顯示隱藏檔案
let g:NERDTreeHidden=1
" 在 vim 啟動的時候默認開啟 NERDTree(autocmd 可以縮寫為 au)
autocmd VimEnter * NERDTree



""""""""""""""""""""""""""""""
"jiangmiao/auto-pairs
""""""""""""""""""""""""""""""
 let g:AutoPairsFlyMode = 1 
 let g:AutoPairs = {'(':')', '[':']', '{':'}',"'":"'",'"':'"'}
 "let g:AutoPairs['<']='>'

""""""""""""""""""""""""""""""
"luochen1990/rainbow
""""""""""""""""""""""""""""""
let g:rainbow_active = 1
"let rainbow_parenthesis#active = 0 "避免Rainbow Parentheses插件運行時報錯



""""""""""""""""""""""""""""""
"nerdtree-git-plugin settings
""""""""""""""""""""""""""""""
let g:NERDTreeShowIgnoredStatus = 1

let g:NERDTreeIndicatorMapCustom = {
    \ "Modified"  : "?",
    \ "Staged"    : "?",
    \ "Untracked" : "?",
    \ "Renamed"   : "?",
    \ "Unmerged"  : "═",
    \ "Deleted"   : "?",
    \ "Dirty"     : "?",
    \ "Clean"     : "??",
    \ 'Ignored'   : '?',
    \ "Unknown"   : "?"
    \ }



""""""""""""""""""""""""""""""
"vim-nerdtree-syntax-highlight settings
""""""""""""""""""""""""""""""
"Highlight full name (not only icons). You need to add this if you don't have vim-devicons and want highlight.
let g:NERDTreeFileExtensionHighlightFullName = 1
let g:NERDTreeExactMatchHighlightFullName = 1
let g:NERDTreePatternMatchHighlightFullName = 1

"Highlight full name (not only icons). You need to add this if you don't have vim-devicons and want highlight.
let g:NERDTreeHighlightFolders = 1

"highlights the folder name
let g:NERDTreeHighlightFoldersFullName = 1

"you can add these colors to your .vimrc to help customizing
let s:brown = "905532"
let s:aqua =  "3AFFDB"
let s:blue = "689FB6"
let s:darkBlue = "44788E"
let s:purple = "834F79"
let s:lightPurple = "834F79"
let s:red = "AE403F"
let s:beige = "F5C06F"
let s:yellow = "F09F17"
let s:orange = "D4843E"
let s:darkOrange = "F16529"
let s:pink = "CB6F6F"
let s:salmon = "EE6E73"
let s:green = "8FAA54"
let s:Turquoise = "40E0D0"
let s:lightGreen = "31B53E"
let s:white = "FFFFFF"
let s:rspec_red = "FE405F"
let s:git_orange = "F54D27"
let s:gray = "808A87"

let g:NERDTreeExtensionHighlightColor = {} " this line is needed to avoid error
let g:NERDTreeExtensionHighlightColor['o'] = s:gray " sets the color of o files to blue
let g:NERDTreeExtensionHighlightColor['h'] = s:blue " sets the color of h files to blue
let g:NERDTreeExtensionHighlightColor['c'] = s:green " sets the color of c files to blue
let g:NERDTreeExtensionHighlightColor['cpp'] = s:green " sets the color of cpp files to blue
let g:NERDTreeExtensionHighlightColor['c++'] = s:green " sets the color of c++ files to blue

""""""""""""""""""""""""""""""
"vim-devicons settings
""""""""""""""""""""""""""""""`
set encoding=UTF-8

"Can be enabled or disabled
let g:webdevicons_enable_nerdtree = 1

"whether or not to show the nerdtree brackets around flags
let g:webdevicons_conceal_nerdtree_brackets = 1

"adding to vim-airline's tabline
let g:webdevicons_enable_airline_tabline = 1

"adding to vim-airline's statusline
let g:webdevicons_enable_airline_statusline = 1



""""""""""""""""""""""""""""""
"altercation/vim-colors-solarized 配色方案選擇
""""""""""""""""""""""""""""""`
syntax enable
set background=dark
set t_Co=256
colorscheme railscasts

""""""""""""""""""""""""""""""
"scrooloose/nerdcommenter
""""""""""""""""""""""""""""""`
let g:NERDSpaceDelims = 1 " 在注釋符號后加一個空格
let g:NERDCompactSexyComs = 1 " 緊湊排布多行注釋
let g:NERDDefaultAlign = 'left' " 逐行注釋左對齊
let g:NERDAltDelims_java = 1 " JAVA 語言使用默認的注釋符號
let g:NERDCustomDelimiters = {'c': {'left': '/', 'right': '/'}} " C 語言注釋符號
let g:NERDCommentEmptyLines = 1 " 允許空行注釋
let g:NERDTrimTrailingWhitespace = 1 " 取消注釋時洗掉行尾空格
let g:NERDToggleCheckAllLines = 1 " 檢查選中的行操作是否成功

set guifont=Ubuntu\ Mono\ Bold:h12
set number

vmap <C-c> "+y
vmap <C-x> "+c
vmap <C-v> c<ESC>"+p
imap <C-v> <C-r><C-o>+

006 Install vim plugins

Mac 終端輸入 vim , 進入 VIM 后,輸入 :PluginInstall 完成第一次初始化安裝,如果安裝不成功,那就一直安裝,因為有些插件來源是 GitHub,而 GitHub 能否成功連接是要看運氣的,

007 References

  • https://www.jianshu.com/p/97d93fc72bcb

  • https://wuzhuti.cn/mac-vim-vundle

Linux VIM 編輯器及其插件安裝

先看一下 Linux VIM 編輯器及其插件安裝完成后的最終效果:

image-20210804105612357

自我感徑訓可以,接下來就看 Linux VIM 編輯器及其插件的具體安裝程序吧~

001 下載 VIM

從 ftp://ftp.vim.org/pub/vim/unix 下載 vim,最新版本為 vim-8.2.tar.bz2

002 解壓 VIM

cd ~/Softwarestar -jxvf vim-8.2.tar.bz2

003 配置和安裝 VIM

./configure --prefix=/zs32/home/chxia/opt/vim82makemake install

004 編輯用戶目錄下的 .bashrc檔案

vi ~/.bashrc# 在檔案內容最后添加一行:alias vim='/zs32/home/chxia/opt/vim82/bin/vim'# 使上述配置生效source ~/.bashrc

005 Install bundle

##### 01 從 https://github.com/VundleVim/Vundle.vim 下載 Vundle.vim-master.zip##### 02 解壓 Vundle.vim-master.zip##### 03 新建檔案夾 bundle/Vundle.vimmkdir ~/.vim/bundle/Vundle.vim##### 04 將解壓后的 Vundle.vim-master 里的檔案上傳到 ~/.vim/bundle/Vundle.vim

006 新建 vim 用戶組態檔并編輯

vim ~/.vimrc

# add the following contents:

"正常使用滑鼠右鍵來進行復制粘貼操作
source /zs32/home/chxia/opt/vim82/share/vim/vim82/defaults.vim
let skip_defaults_vim = 1
if has('mouse')
    set mouse-=a
endif

"set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1
"set encoding=utf-8
"set termencoding=cp936
"language messages zh_CN.UTF-8 

set nocompatible
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin('~/.vim/bundle/Vundle.vim/plugins')

Plugin 'VundleVim/Vundle.vim'
Plugin 'tpope/vim-fugitive'
Plugin 'L9'
Plugin 'git://git.wincent.com/command-t.git'
Plugin 'scrooloose/nerdtree'
Plugin 'scrooloose/nerdcommenter'
Plugin 'itchyny/lightline.vim'
Plugin 'altercation/vim-colors-solarized'
Plugin 'mechatroner/rainbow_csv'
Plugin 'junegunn/seoul256.vim'
Plugin 'sheerun/vim-polyglot'
Plugin 'airblade/vim-rooter'
Plugin 'ryanoasis/vim-devicons'
Plugin 'tiagofumo/vim-nerdtree-syntax-highlight'
Plugin 'konfekt/vim-office'
Plugin 'jiangmiao/auto-pairs'
Plugin 'machakann/vim-sandwich'
Plugin 'tpope/vim-markdown'
Plugin 'mzlogin/vim-markdown-toc'
Plugin 'iamcco/markdown-preview.nvim'
Plugin 'luochen1990/rainbow'
Plugin 'google/vim-searchindex'
Plugin 'datawraith/auto_mkdir'
"Error: E185: Cannot find color scheme for synload.vim (Line 19)
"solution for the above
Plugin 'jpo/vim-railscasts-theme'  

call vundle#end()
filetype plugin indent on
filetype plugin on



""""""""""""""""""""""""""""""
"scrooloose/nerdtree
""""""""""""""""""""""""""""""
" 添加 F7 為 NERDTree 插件打開和關閉的快捷方式,注意 :NERDTreeToggle<CR> 是一個整體,中間不能有任何空格; <ESC>:NERDTreeToggle<CR> 是一個整體,中間也不能有任何空格;和 <F7> 中間需要有一個空格,表示用 <F7> 快捷鍵代替那2個整體操作
" F7 NERDTree 快捷鍵設定為 F7
map <F7> :NERDTreeToggle<CR>
imap <F7> <ESC>:NERDTreeToggle<CR>
" 修改樹的顯示圖示
let g:NERDTreeDirArrowExpandable = '+'
let g:NERDTreeDirArrowCollapsible = '-'
" 視窗位置
let g:NERDTreeWinPos='left'
" 視窗尺寸
let g:NERDTreeSize=40
" 視窗是否顯示行號
let g:NERDTreeShowLineNumbers=1
" 顯示隱藏檔案
let g:NERDTreeHidden=1
" 在 vim 啟動的時候默認開啟 NERDTree(autocmd 可以縮寫為 au)
autocmd VimEnter * NERDTree



""""""""""""""""""""""""""""""
"jiangmiao/auto-pairs
""""""""""""""""""""""""""""""
 let g:AutoPairsFlyMode = 1 
 let g:AutoPairs = {'(':')', '[':']', '{':'}',"'":"'",'"':'"'}
 "let g:AutoPairs['<']='>'

""""""""""""""""""""""""""""""
"luochen1990/rainbow
""""""""""""""""""""""""""""""
let g:rainbow_active = 1
"let rainbow_parenthesis#active = 0 "避免Rainbow Parentheses插件運行時報錯



""""""""""""""""""""""""""""""
"nerdtree-git-plugin settings
""""""""""""""""""""""""""""""
let g:NERDTreeShowIgnoredStatus = 1

let g:NERDTreeIndicatorMapCustom = {
    \ "Modified"  : "?",
    \ "Staged"    : "?",
    \ "Untracked" : "?",
    \ "Renamed"   : "?",
    \ "Unmerged"  : "═",
    \ "Deleted"   : "?",
    \ "Dirty"     : "?",
    \ "Clean"     : "??",
    \ 'Ignored'   : '?',
    \ "Unknown"   : "?"
    \ }



""""""""""""""""""""""""""""""
"vim-nerdtree-syntax-highlight settings
""""""""""""""""""""""""""""""
"Highlight full name (not only icons). You need to add this if you don't have vim-devicons and want highlight.
let g:NERDTreeFileExtensionHighlightFullName = 1
let g:NERDTreeExactMatchHighlightFullName = 1
let g:NERDTreePatternMatchHighlightFullName = 1

"Highlight full name (not only icons). You need to add this if you don't have vim-devicons and want highlight.
let g:NERDTreeHighlightFolders = 1

"highlights the folder name
let g:NERDTreeHighlightFoldersFullName = 1

"you can add these colors to your .vimrc to help customizing
let s:brown = "905532"
let s:aqua =  "3AFFDB"
let s:blue = "689FB6"
let s:darkBlue = "44788E"
let s:purple = "834F79"
let s:lightPurple = "834F79"
let s:red = "AE403F"
let s:beige = "F5C06F"
let s:yellow = "F09F17"
let s:orange = "D4843E"
let s:darkOrange = "F16529"
let s:pink = "CB6F6F"
let s:salmon = "EE6E73"
let s:green = "8FAA54"
let s:Turquoise = "40E0D0"
let s:lightGreen = "31B53E"
let s:white = "FFFFFF"
let s:rspec_red = "FE405F"
let s:git_orange = "F54D27"
let s:gray = "808A87"

let g:NERDTreeExtensionHighlightColor = {} " this line is needed to avoid error
let g:NERDTreeExtensionHighlightColor['o'] = s:gray " sets the color of o files to blue
let g:NERDTreeExtensionHighlightColor['h'] = s:blue " sets the color of h files to blue
let g:NERDTreeExtensionHighlightColor['c'] = s:green " sets the color of c files to blue
let g:NERDTreeExtensionHighlightColor['cpp'] = s:green " sets the color of cpp files to blue
let g:NERDTreeExtensionHighlightColor['c++'] = s:green " sets the color of c++ files to blue

""""""""""""""""""""""""""""""
"vim-devicons settings
""""""""""""""""""""""""""""""`
set encoding=UTF-8

"Can be enabled or disabled
let g:webdevicons_enable_nerdtree = 1

"whether or not to show the nerdtree brackets around flags
let g:webdevicons_conceal_nerdtree_brackets = 1

"adding to vim-airline's tabline
let g:webdevicons_enable_airline_tabline = 1

"adding to vim-airline's statusline
let g:webdevicons_enable_airline_statusline = 1


""""""""""""""""""""""""""""""
"altercation/vim-colors-solarized 配色方案選擇
""""""""""""""""""""""""""""""`
syntax enable
set background=dark
set t_Co=256
colorscheme railscasts

""""""""""""""""""""""""""""""
"scrooloose/nerdcommenter
""""""""""""""""""""""""""""""`
let g:NERDSpaceDelims = 1 " 在注釋符號后加一個空格
let g:NERDCompactSexyComs = 1 " 緊湊排布多行注釋
let g:NERDDefaultAlign = 'left' " 逐行注釋左對齊
let g:NERDAltDelims_java = 1 " JAVA 語言使用默認的注釋符號
let g:NERDCustomDelimiters = {'c': {'left': '/', 'right': '/'}} " C 語言注釋符號
let g:NERDCommentEmptyLines = 1 " 允許空行注釋
let g:NERDTrimTrailingWhitespace = 1 " 取消注釋時洗掉行尾空格
let g:NERDToggleCheckAllLines = 1 " 檢查選中的行操作是否成功

set guifont=Ubuntu\ Mono\ Bold:h12
set number

vmap <C-c> "+y
vmap <C-x> "+c
vmap <C-v> c<ESC>"+p
imap <C-v> <C-r><C-o>+

007 VIM 插件安裝

Linux終端輸入 vim 運行 vim,輸入 :PluginInstall 完成第一次初始化安裝,如果安裝不成功,那就一直安裝,因為有些插件來源是 GitHub,而 GitHub 能否成功連接是要看運氣的,

008 遇到的問題

Q:因為 Linux 服務器不能KX上網,導致很多來自 GitHub 的 VIM 插件一直無法安裝成功,

A:換成 Plug 插件管理器,并更改 Plug 插件的原始碼,將 GitHub 網址更改為 GitHub 鏡像網址,類比此方法,其實也可更改 Vundle 插件管理器的原始碼,只不過自己暫時沒有教程,不敢隨便動它的原始碼,

##### 01 首先找到可用的GitHub鏡像網站,這里我找到的是 https://github.com.cnpmjs.org

##### 02 安裝vim-plug插件管理器

### (1) 在 .vim 檔案夾下新建一個檔案夾 autoload
mkdir ~/.vim/autoload/

### (2) 從 https://github.com/junegunn/vim-plug 下載 plug.vim 檔案(https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim)(這里實際是自己先創建一個空檔案 plug.vim,再把內容添加進去) 

### (3) 修改 plug.vim 檔案中的兩行:
let fmt = get(g:, 'plug_url_format', 'https://git::@github.com/%s.git')
修改為
let fmt = get(g:, 'plug_url_format', 'https://git::@github.com.cnpmjs.org/%s.git')

\ '^https://git::@github.com', 'https://github.com', '')
修改為
\ '^https://git::@github.com.cnpmjs.org', 'https://github.com.cnpmjs.org', '')

### (4) 將修改后的 plug.vim 檔案上傳到 ~/.vim/autoload/ 目錄即可完成安裝

##### 03 使用vim-plug插件管理器安裝插件

### (1) 在 .vim 檔案夾下新建一個檔案夾 plugged,以后使用vim-plug插件管理器安裝的插件都會保存在這個檔案夾下
mkdir ~/.vim/plugged/

### (2) 添加 vim-plug 的配置到 ~/.vimrc 中(和Vundle插件管理器類似)
# 向 ~/.vimrc 添加如下內容:

call plug#begin('~/.vim/plugged')
"插件串列,以 Plug 命令開頭
Plug 'junegunn/vim-easy-align'
"Plug 'VundleVim/Vundle.vim'
Plug 'tpope/vim-fugitive'
Plug 'user/L9'
Plug 'git://git.wincent.com/command-t.git'
Plug 'scrooloose/nerdtree'
Plug 'scrooloose/nerdcommenter'
Plug 'itchyny/lightline.vim'
Plug 'altercation/vim-colors-solarized'
Plug 'mechatroner/rainbow_csv'
Plug 'junegunn/seoul256.vim'
Plug 'sheerun/vim-polyglot'
Plug 'airblade/vim-rooter'
Plug 'ryanoasis/vim-devicons'
Plug 'tiagofumo/vim-nerdtree-syntax-highlight'
Plug 'konfekt/vim-office'
Plug 'jiangmiao/auto-pairs'
Plug 'machakann/vim-sandwich'
Plug 'tpope/vim-markdown'
Plug 'mzlogin/vim-markdown-toc'
Plug 'iamcco/markdown-preview.nvim'
Plug 'luochen1990/rainbow'
Plug 'google/vim-searchindex'
Plug 'datawraith/auto_mkdir'
Plug 'jpo/vim-railscasts-theme' 
Plug 'gko/vim-coloresque'
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Plug 'Xuyuanp/nerdtree-git-plugin'
Plug 'haya14busa/incsearch.vim'
call plug#end()


""""""""""""""""""""""""""""""
"airline
""""""""""""""""""""""""""""""
set t_Co=256      "在windows中用xshell連接打開vim可以顯示色彩
let g:airline#extensions#tabline#enabled = 1   " 是否打開tabline
"這個是安裝字體后 必須設定此項" 
let g:airline_powerline_fonts = 1  " 支持 powerline 字體
set laststatus=2  "永遠顯示狀態欄
let g:airline_theme='bubblegum' "選擇主題
let g:airline#extensions#tabline#enabled=1    "Smarter tab line: 顯示視窗tab和buffer
"let g:airline#extensions#tabline#left_sep = ' '  "separater
"let g:airline#extensions#tabline#left_alt_sep = '|'  "separater
"let g:airline#extensions#tabline#formatter = 'default'  "formater
let g:airline_left_sep = '?'
let g:airline_left_alt_sep = '?'
let g:airline_right_sep = '?'
let g:airline_right_alt_sep = '?'

009 參考資料

  • https://vimjc.com/vim-plug.html
  • https://blog.csdn.net/htx1020/article/details/114364510
  • https://blog.inkuang.com/2019/1006/

本文章首發于個人微信公眾號 TouchUMind,個人嗶哩嗶哩賬號 iTouchUMind,博客園賬號 TouchUMind,科學網(博客)賬號 TouchUMind,備份(終稿)于個人博客網站 touchumind.com,歡迎關注和支持!

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/296123.html

標籤:其他

上一篇:Java類和物件的概念

下一篇:maven的安裝以及在idea中配置

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more