ubuntu vimrc python,linux python安装
各位老铁们好,相信很多人对ubuntu vimrc python都不是特别的了解,因此呢,今天就来为大家分享下关于ubuntu vimrc python以及linux python安装的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!
Ubuntu系统中gVim的基本安装与配置教程
安装:
1.在www.vim.org上下载源码包 vim-7.4.tar.bz2
2.开发库libncurses5-dev安装:
复制代码
代码如下:
sudo apt-get install libncurses5-dev
3.解压 tar jxvf vim-7.4.tar.bz2,进入vim74/src:
复制代码
代码如下:
./configure--with-features=huge--enable-pythoninterp=yes--enable-gui=gnome2--enable-cscope--enable-fontset--enable-perlinterp--enable-rubyinterp--with-python-config-dir=/usr/lib/python2.6/config
4.
复制代码
代码如下:
make sudo make install
5.这样vim就安装完成,下面安装gvim:
复制代码
代码如下:
sudo apt-get install vim-gnome
gvim配置文件.vimrc中的一些基本配置讲解:
不要使用vi的键盘模式,而是vim自己的
set nocompatible
语法高亮
set syntax=on
配色方案
colorscheme torte
去掉输入错误的提示声音
set noeb
在处理未保存或只读文件的时候,弹出确认
set confirm
自动缩进
set autoindent
set cindent
自动换行
set wrap
整词换行
set linebreak
Tab键的宽度
set tabstop=4
统一缩进为4
set softtabstop=4
set shiftwidth=4
不要用空格代替制表符
set noexpandtab
在行和段开始处使用制表符
set smarttab
显示行号
set number
历史记录数
set history=1000
禁止生成临时文件
set nobackup
set noswapfile
搜索忽略大小写
set ignorecase
搜索逐字符高亮
set hlsearch
set incsearch
行内替换
set gdefault
编码设置
set enc=utf-8
set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936
语言设置
set helplang=cn
set encoding=utf8
set langmenu=zh_CN.UTF-8
set imcmdline
source$VIMRUNTIME/delmenu.vim
source$VIMRUNTIME/menu.vim
设置字体。
set guifont=Liberation\Mono\ 12
set guifont=Fixedsys\Excelsior\3.01\ 14
我的状态行显示的内容(包括文件类型和解码)
set statusline=%F%m%r%h%w\ [FORMAT=%{ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\%{strftime(\%d/%m/%y\-\%H:%M\)}
set statusline=[%F]%y%r%m%*%=[Line:%l/%L,Column:%c][%p%%]
总是显示状态行
set laststatus=2
在编辑过程中,在右下角显示光标位置的状态行
set ruler
命令行(在状态行下)的高度,默认为1,这里是2
set cmdheight=2
侦测文件类型
filetype on
载入文件类型插件
filetype plugin on
为特定文件类型载入相关缩进文件
filetype indent on
保存全局变量
set viminfo+=!
带有如下符号的单词不要被换行分割
set iskeyword+=_,$,@,%,#,-
字符间插入的像素行数目
set linespace=0
增强模式中的命令行自动完成操作
set wildmenu
使回格键(backspace)正常处理indent, eol, start等
set backspace=2
允许backspace和光标键跨越行边界
set whichwrap+=,,h,l
可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位)
set mouse=a
set selection=exclusive
set selectmode=mouse,key
通过使用: commands命令,告诉我们文件的哪一行被改变过
set report=0
启动的时候不显示那个援助索马里儿童的提示
set shortmess=atI
在被分割的窗口间显示空白,便于阅读
set fillchars=vert:\,stl:\,stlnc:\
高亮显示匹配的括号
set showmatch
匹配括号高亮的时间(单位是十分之一秒)
set matchtime=5
光标移动到buffer的顶部和底部时保持3行距离
set scrolloff=3
为C程序提供自动缩进
set smartindent
只在下列文件类型被侦测到的时候显示行号,普通文本文件不显示
if has(autocmd)
autocmd FileType xml,html,c,cs,java,perl,shell,bash,cpp,python,vim,php,ruby set number
autocmd FileType xml,html vmap C-o ESC'i!--ESCoESC'o--
autocmd FileType java,c,cpp,cs vmap C-o ESC'o/*ESC'o*/
autocmd FileType html,text,php,vim,c,java,xml,bash,shell,perl,python setlocal textwidth=100
autocmd Filetype html,xml,xsl source$VIMRUNTIME/plugin/closetag.vim
autocmd BufReadPost*
\ if line('\) 0 line('\)= line($)|
\ exe normal g`\|
\ endif
endif has(autocmd)
F5编译和运行C程序,F6编译和运行C++程序
C的编译和运行
map F5:call CompileRunGcc()CR
func! CompileRunGcc()
exec w
exec!gcc-Wall%-o%
exec!./%
endfunc
C++的编译和运行
map F6:call CompileRunGpp()CR
func! CompileRunGpp()
exec w
exec!g++-Wall%-o%
exec!./%
endfunc
能够漂亮地显示.NFO文件
set encoding=utf-8
function! SetFileEncodings(encodings)
let b:myfileencodingsbak=fileencodings
let fileencodings=a:encodings
endfunction
function! RestoreFileEncodings()
let fileencodings=b:myfileencodingsbak
unlet b:myfileencodingsbak
endfunction
au BufReadPre*.nfo call SetFileEncodings('cp437')|set ambiwidth=single
au BufReadPost*.nfo call RestoreFileEncodings()
高亮显示普通txt文件(需要txt.vim脚本)
au BufRead,BufNewFile* setfiletype txt
用空格键来开关折叠
set foldenable
set foldmethod=manual
nnoremap space@=((foldclosed(line('.')) 0)?'zc':'zo')CR
minibufexpl插件的一般设置
let g:miniBufExplMapWindowNavVim= 1
let g:miniBufExplMapWindowNavArrows= 1
let g:miniBufExplMapCTabSwitchBufs= 1
let g:miniBufExplModSelTarget= 1
-----------
模仿MS Windows中的快捷键
-----------
vmap C-c yy
vmap C-x yd
nmap C-v yp
vmap C-v yp
nmap C-a ggvG$
Vim复制粘贴探秘
Vim作为最好用的文本编辑器之一,使用vim来编文档,写代码实在是很惬意的事情。每当学会了vim的一个新功能,就会很大地提高工作效率。有人使用vim几十年,还没有完全掌握vim的功能,这也说明了vim的强大。而这样何尝不是一件好事呢,只要有的学习,就有的提高。
最近使用Vim来写博客,发现在Vim中粘贴Python代码后,缩进就全乱了。仔细研究了以下,原来是自动缩进的缘故,于是做如下设置:
:set noai nosi取消了自动缩进和智能缩进,这样粘贴就不会错行了。但在有的vim中不行,还是排版错乱。
后来发现了更好用的设置:
:set paste进入paste模式以后,可以在插入模式下粘贴内容,不会有任何变形。这个真是灰常好用,情不自禁看了一下帮助,发现它做了这么多事:
textwidth设置为0
wrapmargin设置为0
set noai
set nosi
softtabstop设置为0
revins重置
ruler重置
showmatch重置
formatoptions使用空值
下面的选项值不变,但却被禁用:
lisp
indentexpr
cindent
怪不得之前只设置noai和nosi不行,原来与这么多因素有关!
但这样还是比较麻烦的,每次要粘贴的话,先set paste,然后粘贴,然后再set nopaste。有没有更方便的呢?你可能想到了,使用键盘映射呀,对。我们可以这样设置::
:map:set paste
:map:set nopaste这样在粘贴前按F10键启动paste模式,粘贴后按F11取消paste模式即可。其实,paste有一个切换paste开关的选项,这就是pastetoggle。通过它可以绑定快捷键来激活/取消 paste模式。比如::
:set pastetoggle=这样减少了一个快捷键的占用,使用起来也更方便一些。
但,这是最方便的吗?Vimer们对高效的追求永无止境。还有其他更好地方法吗?
你可能想到了,vim寄存器。对,使用vim寄存器“+p粘贴即可。根本不用考虑是否自动缩进,是否paste模式,直接原文传递!:
"+p要说vim寄存器,就要从vim文件间的复制粘贴说起。
Vim中,若要复制当前行,普通模式下按 yy即可,在要粘贴的地方按 p。这是vim将复制内容保存到了自己的寄存器中的缘故。如果在其他地方执行yy,新的内容将覆盖掉原寄存器中内容。如果想保存原寄存器中内容而同时增加新的内容呢?这时就要在yy前增加标签了。标签以双引号开始,跟着的是标签名称,可以是数字0-9,也可以是26个字母,然后就是复制操作,这样就把复制内容保存到该标签寄存器里。通过下面命令显示所有寄存器内容::
:reg其中注意两个特殊的寄存器:”*和“+。这两个寄存器是和系统相通的,前者关联系统选择缓冲区,后者关联系统剪切板。通过它们可以和其他程序进行数据交换。
备注:
若寄存器列表里无”*或“+寄存器,则可能是由于没有安装vim的图形界面所致。Debian/Ubuntu下可以通过安装vim-gnome解决。
$ sudo apt-get install vim-gnome选择缓冲区和系统剪切板啥子区别?让我们继续研究。
选择缓冲区和剪切板
不同于Windows,Linux系统里存在两个剪切板:一个叫做选择缓冲区(X11 selection buffer),另一个才是剪切板(clipboard)。
选择缓冲区是实时的,当使用鼠标或键盘选择内容时,内容已经存在于选择缓冲区了,这或许就是选择缓冲区的由来吧。
使用下面的命令查看选择缓冲区的内容::
$ xclip-out如果没有xclip命令,Debian/Ubuntu下可以通过如下命令安装::
$ sudo apt-get install xclip可以使用鼠标中键或键入Shift+Insert来粘贴选择缓冲区的内容。但对于有些GUI程序,比如gedit,只能通过鼠标中键调用选择缓冲区的内容,使用Shift+Insert的话,调用的是剪切板的内容。
剪切板和Windows的剪切板类似,在选择文字内容后,执行Ctrl+ c或在菜单里选择‘复制’的话,这时内容才存放到剪切板里。
使用下面的命令查看剪切板的内容::
$ xclip-out-sel clipboard而使用剪切板的内容,则是Ctrl+v。但在有些情况下,比如gnome-terminal,不能直接使用Ctrl+c,Ctrl+v,这时就要用Shift+Ctrl+c,Shift+Ctrl+v代替。
原格式粘贴
好了,了解了选择缓冲区和剪切板,下面就是实现保留格式粘贴的完美解决方案:
方案一:
选择文本内容
vim普通模式下按“*p将选择缓冲区中内容粘贴进来
方案二:
复制文件内容
vim普通模式下按“+ p将剪切板内容粘贴进来
这时,如果要复制的内容也是vim编辑器中的内容,那么如何复制才更方便呢?
vim中的复制
vim有一个可视模式(Visual Mode),在此模式下可以选择区域。可以在普通模式下键入v进入可视模式,也可以个性化一点,键入V进入行可视模式,或者键入Ctrl+v进入列可视模式。这时移动光标就可以选择内容了。注意这时被选内容已经实时保存于选择缓冲区了,当然你也可以键入”+y将此内容也保存到剪切板里,或者”ay将内容保存到标签为a的寄存器中。但要知道,只有前两个中的内容可以在其他程序中使用,而a寄存器中的内容只能在该vim编辑器内使用。
也可以通过鼠标来复制。这里首先要打开鼠标模式。:
:set mouse=a这样在普通模式下可以直接使用鼠标选择区域复制到选择缓冲区。但这种情况下不能复制到剪切板。
若要使用鼠标复制内容到剪切板,则需要做如下设置::
:set mouse=v这种情况下,除了可以像上面一样直接使用鼠标选择区域复制到选择缓冲区以外,还可以在右键菜单中选择“复制”来保存到剪切板里。但新问题又出来了。若显示行号,也会将行号一并选择。你会想到,这好办呀,如果不需要行号的话,在复制前,先执行set nonu来取消行号显示呗。
其实没必要这样,如果不需要复制行号的话,用在可视模式下用键盘来选择不就可以吗?
并且,从上面的讨论,我们不难得出,使用选择缓冲区比使用剪切板要方便的多,可以节省很多步骤。
所以,最终我们得到了vim文件间复制粘贴的完美方案,文件传输的中转使用选择缓冲区。
vim文件间复制粘贴完美方案
在~/.vimrc中增加如下一行::
set mouse=v复制内容到选择缓冲区。
带行号时,使用鼠标选择内容区域。
不要行号,使用“*yny复制n行或可视模式下选择。
将选择缓冲区中内容粘贴到vim文件:普通模式下按“*p。
--------------------------------------------------------------------------------
补充:
设置vim中默认使用选择缓冲区寄存器“*:
set clipboard= unnamed则可以直接通过y,p和系统选择缓冲区进行数据交换。
ubuntu 22.04上vim-plug插件管理器,相关插件与ROS2的安装
在Ubuntu 22.04系统中,针对vim-plug插件管理器的使用以及相关插件的安装,特别是在ROS2的配置上,我将分享一些步骤。首先,为了优化虚拟机的性能,建议内存设置在4GB至8GB之间,我选择了100G的存储空间,但可根据个人需求调整。配置开始时,确保网络稳定,以便能顺利从GitHub获取资料。
安装vim-plug插件管理器是基础配置之一,你可以通过curl工具或者直接下载plug.vim文件来实现。通过curl工具安装的命令如下,如果选择下载文件,需解压后执行相应命令。
安装vim插件时,可以新建一个文件,粘贴以下内容,然后运行:PlugInstall命令进行下载和安装。插件管理包括如下的命令:
-插件下载::PlugInstall
-新增插件:在.vimrc中添加新插件
-特定插件安装::PlugInstall gist-vim
-卸载插件::PlugClean
-插件更新::PlugUpgrade或:PlugUpdate
-插件状态查看::PlugStatus
在配置过程中,别忘了安装cmake,它在后续安装中通常会用到。对于自动补全插件coc.nvim,你需要先安装nodejs和npm,确保版本足够新。然后设置环境变量,添加插件到合适位置,通过:CocInfo检查是否安装成功,并根据需要配置python的补全功能。
对于OpenCV库,通常我会选择简单的方式从Ubuntu源码库安装,检查版本后进行安装。至于ROS2的安装,推荐参考官方文档,设置编码和源,我选择的是阿里源。安装时记得更新系统并选择桌面版,这可能需要一些时间。最后,设置环境变量以完成ROS2的配置。
在ROS2的小海龟仿真实验中,需要在两个终端分别执行指令,启动仿真器和键盘控制节点,以体验和学习ROS2的实践操作。
总的来说,这些步骤是为在Ubuntu 22.04环境下配置vim-plug插件,安装相关插件,并结合ROS2进行系统学习和实践的基础指南。