Linux(ubuntu)配置ssh-samba-vim

一、ssh配置

ifconfig

# 若提示找不到命令,则需安装 net-tools

sudo apt-get install net-tools

# 安装 openssh 服务

sudo apt-get install openssh-server

# 启动 ssh 服务

sudo /etc/init.d/ssh start

可以使用putty登录,ctrl+alt+F3关闭虚拟机ui界面

二、samba配置

sudo apt-get install samba

sudo smbpasswd -a [用户名]

修改配置文件:/etc/samba/smb.conf

[disk]

   comment = disk

   path = /disk

   valid users = [用户名]

   browseable = yes

   writable = yes

       public = yes

sudo service smbd restart

三、vim配置

1、安装ctags和cscope

sudo apt-get install ctags cscope

cscope -Rbq/ctags -R *(创建标签)

如果经常在不同工程里查阅代码,那么可以在~/.vimrc中添加:

set tags=tags;

set autochdi

配置cscope tag(.vimrc)

"cscope config

if has("cscope")

        set csprg=/usr/bin/cscope

        set csto=1

        set cst

        set nocsverb

        set cspc=3

"add any database in current dir

if filereadable("cscope.out")

        cs add cscope.out

"else search cscope.out elsewhere

else

        let cscope_file=findfile("cscope.out", ".;")

        let cscope_pre=matchstr(cscope_file, ".*/")

if !empty(cscope_file) && filereadable(cscope_file)

        exe "cs add" cscope_file cscope_pre

endif

endif

        set csverb

endif

cscope快捷键

nmap s :cs find s =expand("")    

nmap g :cs find g =expand("")    

nmap c :cs find c =expand("")    

nmap t :cs find t =expand("")    

nmap e :cs find e =expand("")    

nmap f :cs find f =expand("")    

nmap i :cs find i ^=expand("")$

nmap d :cs find d =expand("") 

2、引用大拿博客

完美的vim配置

https://blog.csdn.net/amoscykl/article/details/80616688

配置鼠标:

https://blog.csdn.net/qq_27968607/article/details/54966912

安装vundle(插件管理器)

https://linux.cn/article-9416-1.html

YCM:

https://www.cnblogs.com/jiangson/p/6000587.html

https://blog.csdn.net/think_ycx/article/details/83659044

https://www.cnblogs.com/yangxinrui/p/10047753.html

putty配色方案:

https://www.cnblogs.com/justlikeheaven/p/7723257.html

https://blog.csdn.net/zxx2403/article/details/46506539/

mark插件:

https://blog.csdn.net/u010561799/article/details/105405999

\m:标记/取消标记光标所在单词;

\r:手动输入正则表达式;

\n:清除所以标记;

其他高亮显示:

搜索关键字高亮(.vimrc中添加):

"搜索逐字符高亮

set hlsearch

set incsearch

map :TlistToggle

map :NERDTreeToggle

map \m

set cursorline              " 突出显示当前行 

VIM插件:

四、VIM操作

1、复制多行

将光标移动到要复制的文本开始的地方,按V(是大写V)进入可视模式。 2. 将光标移动到要复制的文本的结束的地方,按y复制。此时vim会自动将光标定位到选中文本的开始的地方,并退出可视模式。 3. 移动光标到要粘贴的位置,按p粘贴。

2、删除多行

光标定位到要操作的地方。CTRL+v 进入“可视 块”模式,选取这一列操作多少行。d 删除。

3、插入列

插入操作稍有区别。例如我们在每一行前都插入"() ":

光标定位到要操作的地方。CTRL+v 进入“可视 块”模式,选取这一列操作多少行。SHIFT+i(I) 输入要插入的内容。ESC 按两次,会在每行的选定的区域出现插入的内容。

4、其他快捷键:

五、附自己的vim配置

我的vimrc配置:

"not compatible vi
set nocompatible
"check filetype
filetype on
"语法高亮
syntax enable
syntax on
set nu
colorscheme desert
set cursorline

set nobackup                " 覆盖文件时不备份
"搜索逐字符高亮
set hlsearch
set incsearch
map <F8> \m
" TAB 键配置
" 自动缩进
set autoindent
set cindent
" Tab键的宽度
set tabstop=4
" 统一缩进为4
set softtabstop=4
set shiftwidth=4

" 可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位)
set mouse=a
set selection=exclusive
set selectmode=mouse,key

"vundle
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" 这里根据自己需要的插件来设置,以下是我的配置 "

Bundle 'Mark'
" YouCompleteMe:语句补全插件
Bundle 'Valloric/YouCompleteMe'
set runtimepath+=~/.vim/bundle/YouCompleteMe
autocmd InsertLeave * if pumvisible() == 0|pclose|endif "离开插入模式后自动关闭预览窗口"
let g:ycm_collect_identifiers_from_tags_files = 1           " 开启 YCM基于标签引擎
let g:ycm_collect_identifiers_from_comments_and_strings = 1 " 注释与字符串中的内容也用于补全
let g:syntastic_ignore_files=[".*\.py$"]
let g:ycm_seed_identifiers_with_syntax = 1                  " 语法关键字补全
let g:ycm_complete_in_comments = 1
let g:ycm_confirm_extra_conf = 0                            " 关闭加载.ycm_extra_conf.py提示
let g:ycm_key_list_select_completion = ['<c-n>', '<Down>']  " 映射按键,没有这个会拦截掉tab, 导致其他插件的tab不能用.
let g:ycm_key_list_previous_completion = ['<c-p>', '<Up>']
let g:ycm_complete_in_comments = 1                          " 在注释输入中也能补全
let g:ycm_complete_in_strings = 1                           " 在字符串输入中也能补全
let g:ycm_collect_identifiers_from_comments_and_strings = 1 " 注释和字符串中的文字也会被收入补全
let g:ycm_global_ycm_extra_conf='~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py'
let g:ycm_show_diagnostics_ui = 0                           " 禁用语法检查
inoremap <expr> <CR> pumvisible() ? "\<C-y>" : "\<CR>"             " 回车即选中当前项
nnoremap <c-j> :YcmCompleter GoToDefinitionElseDeclaration<CR>     " 跳转到定义处
let g:ycm_min_num_of_chars_for_completion=2                 " 从第2个键入字符就开始罗列匹配项
"
 
 
 
" github 仓库中的插件 "
Plugin 'VundleVim/Vundle.vim'
 
 
Plugin 'vim-airline/vim-airline'
"vim-airline配置:优化vim界面"
"let g:airline#extensions#tabline#enabled = 1
" airline设置
" 显示颜色
set t_Co=256
set laststatus=2
" 使用powerline打过补丁的字体
let g:airline_powerline_fonts = 1
" 开启tabline
let g:airline#extensions#tabline#enabled = 1
" tabline中当前buffer两端的分隔字符
let g:airline#extensions#tabline#left_sep = ' '
" tabline中未激活buffer两端的分隔字符
let g:airline#extensions#tabline#left_alt_sep = ' '
" tabline中buffer显示编号
let g:airline#extensions#tabline#buffer_nr_show = 1
" 映射切换buffer的键位
nnoremap [b :bp<CR>
nnoremap ]b :bn<CR>
" 映射<leader>num到num buffer
map <leader>1 :b 1<CR>
map <leader>2 :b 2<CR>
map <leader>3 :b 3<CR>
map <leader>4 :b 4<CR>
map <leader>5 :b 5<CR>
map <leader>6 :b 6<CR>
map <leader>7 :b 7<CR>
map <leader>8 :b 8<CR>
map <leader>9 :b 9<CR>
 
 
 
" vim-scripts 中的插件 "
Plugin 'taglist.vim'
"ctags 配置:F3快捷键显示程序中的各种tags,包括变量和函数等。
map <F3> :TlistToggle<CR>
let Tlist_Use_Right_Window=1
let Tlist_Show_One_File=1
let Tlist_Exit_OnlyWindow=1
let Tlist_WinWidt=25
 
Plugin 'The-NERD-tree'
"NERDTree 配置:F2快捷键显示当前目录树
map <F2> :NERDTreeToggle<CR>
let NERDTreeWinSize=25 
 
"ma 'indentLine.vim'
Plugin 'delimitMate.vim'
 
" 非 github 仓库的插件"
" Plugin 'git://git.wincent.com/command-t.git'
" 本地仓库的插件 "
call vundle#end()

"ctags
set tags=tags;
set autochdir
"cscope config
if has("cscope")
	set csprg=/usr/bin/cscope
	set csto=1
	set cst
	set nocsverb
	set cspc=3
"add any database in current dir
if filereadable("cscope.out")
	cs add cscope.out
"else search cscope.out elsewhere
else
	let cscope_file=findfile("cscope.out", ".;")
	let cscope_pre=matchstr(cscope_file, ".*/")
if !empty(cscope_file) && filereadable(cscope_file)
	exe "cs add" cscope_file cscope_pre
endif
endif
	set csverb
endif
nmap <C-\>s :cs find s <C-R>=expand("<cword>")<CR><CR>    
nmap <C-\>g :cs find g <C-R>=expand("<cword>")<CR><CR>    
nmap <C-\>c :cs find c <C-R>=expand("<cword>")<CR><CR>    
nmap <C-\>t :cs find t <C-R>=expand("<cword>")<CR><CR>    
nmap <C-\>e :cs find e <C-R>=expand("<cword>")<CR><CR>    
nmap <C-\>f :cs find f <C-R>=expand("<cfile>")<CR><CR>    
nmap <C-\>i :cs find i ^<C-R>=expand("<cfile>")<CR>$<CR>
nmap <C-\>d :cs find d <C-R>=expand("<cword>")<CR><CR> 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值