- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我已经安装了这些,pip list:
rope (0.10.3)
ropemode (0.3)
ropevim (0.7.0)
我拥有的所有 vim 插件:
Plugin 'gmarik/vundle'
Plugin 'scrooloose/nerdtree'
Plugin 'jistr/vim-nerdtree-tabs'
Plugin 'altercation/vim-colors-solarized'
Plugin 'kien/ctrlp.vim'
Plugin 'SirVer/ultisnips'
Plugin 'honza/vim-snippets'
Plugin 'jiangmiao/auto-pairs'
Plugin 'scrooloose/nerdcommenter'
Plugin 'vim-airline/vim-airline'
Plugin 'vim-airline/vim-airline-themes'
Plugin 'Valloric/YouCompleteMe'
Plugin 'majutsushi/tagbar
Plugin 'Yggdroot/indentLine'
Plugin 'xolox/vim-misc'
Plugin 'xolox/vim-session'
Plugin 'tpope/vim-surround'
Plugin 'tpope/vim-repeat'
Plugin 'tpope/vim-fugitive'
Plugin 'vim-scripts/VisIncr'
Plugin 'easymotion/vim-easymotion'
Plugin 'godlygeek/tabular'
Plugin 'ternjs/tern_for_vim'
Plugin 'scrooloose/syntastic'
Plugin 'Shutnik/jshint2.vim'
Plugin 'python-rope/ropevim'
: map
n [m *@:call <SNR>108_Python_jump('?^\s*\(class\|def\)')<CR>
n [[ *@:call <SNR>108_Python_jump('?^\(class\|def\)')<CR>
n ]m *@:call <SNR>108_Python_jump('/^\s*\(class\|def\)')<CR>
n ]] *@:call <SNR>108_Python_jump('/^\(class\|def\)')<CR>
î *@:call AutoPairsJump()<CR>
ð *@:call AutoPairsToggle()<CR>
n <C-A> * ggVG
s <C-H> * <C-G>c
x <Tab> * :call UltiSnips#SaveLastVisualSelection()<CR>gvs
s <Tab> * <Esc>:call UltiSnips#ExpandSnippetOrJump()<CR>
n <CR> o<Esc>
n <C-N> * :bnext<CR>
n <C-P> * :bprevious<CR>
s <C-R> * <C-G>"_c<C-R>
<Space> <Plug>(easymotion-f)
,, <Plug>(easymotion-prefix)
n ,ca <Plug>NERDCommenterAltDelims
x ,cu <Plug>NERDCommenterUncomment
n ,cu <Plug>NERDCommenterUncomment
x ,cb <Plug>NERDCommenterAlignBoth
n ,cb <Plug>NERDCommenterAlignBoth
x ,cl <Plug>NERDCommenterAlignLeft
n ,cl <Plug>NERDCommenterAlignLeft
n ,cA <Plug>NERDCommenterAppend
x ,cy <Plug>NERDCommenterYank
n ,cy <Plug>NERDCommenterYank
x ,cs <Plug>NERDCommenterSexy
n ,cs <Plug>NERDCommenterSexy
x ,ci <Plug>NERDCommenterInvert
n ,ci <Plug>NERDCommenterInvert
n ,c$ <Plug>NERDCommenterToEOL
x ,cn <Plug>NERDCommenterNested
n ,cn <Plug>NERDCommenterNested
x ,cm <Plug>NERDCommenterMinimal
n ,cm <Plug>NERDCommenterMinimal
x ,c<Space> <Plug>NERDCommenterToggle
n ,c<Space> <Plug>NERDCommenterToggle
x ,cc <Plug>NERDCommenterComment
n ,cc <Plug>NERDCommenterComment
n ,o * :<C-U>CtrlP<CR>
n ,c * :SyntasticCheck<CR>
n ,9 * :9wincmd w<CR>
n ,8 * :8wincmd w<CR>
n ,7 * :7wincmd w<CR>
n ,6 * :6wincmd w<CR>
n ,5 * :5wincmd w<CR>
n ,4 * :4wincmd w<CR>
n ,3 * :3wincmd w<CR>
n ,2 * :2wincmd w<CR>
n ,1 * :1wincmd w<CR>
n ,n * :NERDTreeToggle<CR>
n ,r * :Java %<CR>
n ,s * :JavaSearchContext<CR>
n ,d * :JavaDocSearch -x declarations<CR>
n ,i * :JavaImportOrganize<CR>
n ,os * :OpenSession<CR>
n ,sv * :source $MYVIMRC<CR>
n ,v :e $MYVIMRC<CR>
n ,w * :wall<CR>
n ,q * :bp<CR>:bd #<CR>
n ,p "+p
v ,p "+p
n ,y "+y
v ,y "+y
x S <Plug>VSurround
n cS <Plug>CSurround
n cs <Plug>Csurround
n ds <Plug>Dsurround
v gx <Plug>NetrwBrowseXVis
n gx <Plug>NetrwBrowseX
x gS <Plug>VgSurround
n ySS <Plug>YSsurround
n ySs <Plug>YSsurround
n yss <Plug>Yssurround
n yS <Plug>YSurround
n ys <Plug>Ysurround
v <Plug>NetrwBrowseXVis * :<C-U>call netrw#BrowseXVis()<CR>
n <Plug>NetrwBrowseX * :call netrw#BrowseX(expand((exists("g:netrw_gx")? g:netrw_gx : '<cfile>')),netrw#CheckIfRemote())<CR>
<Plug>(easymotion-prefix)N <Plug>(easymotion-N)
<Plug>(easymotion-prefix)n <Plug>(easymotion-n)
# ----- other easymotion-perfix ------- #
x <Plug>(easymotion-activate) * :<C-U>call EasyMotion#activate(1)<CR>
nos<Plug>(easymotion-activate) * :<C-U>call EasyMotion#activate(0)<CR>
<Plug>(easymotion-dotrepeat) * :<C-U>call EasyMotion#DotRepeat()<CR>
# ----- Other easymotion options ------ #
n <SNR>74_: * :<C-U><C-R>=v:count ? v:count : ''<CR>
v <Plug>VgSurround * :<C-U>call <SNR>73_opfunc(visualmode(),visualmode() ==# 'V' ? 0 : 1)<CR>
v <Plug>VSurround * :<C-U>call <SNR>73_opfunc(visualmode(),visualmode() ==# 'V' ? 1 : 0)<CR>
n <Plug>YSurround * :<C-U>set opfunc=<SNR>73_opfunc2<CR>g@
n <Plug>Ysurround * :<C-U>set opfunc=<SNR>73_opfunc<CR>g@
n <Plug>YSsurround * :<C-U>call <SNR>73_opfunc2(v:count1)<CR>
n <Plug>Yssurround * :<C-U>call <SNR>73_opfunc(v:count1)<CR>
n <Plug>CSurround * :<C-U>call <SNR>73_changesurround(1)<CR>
n <Plug>Csurround * :<C-U>call <SNR>73_changesurround()<CR>
n <Plug>Dsurround * :<C-U>call <SNR>73_dosurround(<SNR>73_inputtarget())<CR>
n <Plug>SurroundRepeat * .
n <Plug>NERDCommenterAltDelims * :call <SNR>60_SwitchToAlternativeDelimiters(1)<CR>
x <Plug>NERDCommenterUncomment * :call NERDComment("x", "Uncomment")<CR>
n <Plug>NERDCommenterUncomment * :call NERDComment("n", "Uncomment")<CR>
x <Plug>NERDCommenterAlignBoth * :call NERDComment("x", "AlignBoth")<CR>
n <Plug>NERDCommenterAlignBoth * :call NERDComment("n", "AlignBoth")<CR>
x <Plug>NERDCommenterAlignLeft * :call NERDComment("x", "AlignLeft")<CR>
n <Plug>NERDCommenterAlignLeft * :call NERDComment("n", "AlignLeft")<CR>
n <Plug>NERDCommenterAppend * :call NERDComment("n", "Append")<CR>
x <Plug>NERDCommenterYank * :call NERDComment("x", "Yank")<CR>
n <Plug>NERDCommenterYank * :call NERDComment("n", "Yank")<CR>
x <Plug>NERDCommenterSexy * :call NERDComment("x", "Sexy")<CR>
n <Plug>NERDCommenterSexy * :call NERDComment("n", "Sexy")<CR>
x <Plug>NERDCommenterInvert * :call NERDComment("x", "Invert")<CR>
n <Plug>NERDCommenterInvert * :call NERDComment("n", "Invert")<CR>
n <Plug>NERDCommenterToEOL * :call NERDComment("n", "ToEOL")<CR>
x <Plug>NERDCommenterNested * :call NERDComment("x", "Nested")<CR>
n <Plug>NERDCommenterNested * :call NERDComment("n", "Nested")<CR>
x <Plug>NERDCommenterMinimal * :call NERDComment("x", "Minimal")<CR>
n <Plug>NERDCommenterMinimal * :call NERDComment("n", "Minimal")<CR>
x <Plug>NERDCommenterToggle * :call NERDComment("x", "Toggle")<CR>
n <Plug>NERDCommenterToggle * :call NERDComment("n", "Toggle")<CR>
x <Plug>NERDCommenterComment * :call NERDComment("x", "Comment")<CR>
n <Plug>NERDCommenterComment * :call NERDComment("n", "Comment")<CR>
s <Del> * <C-G>c
s <BS> * <C-G>c
s <C-Tab> * <Esc>:call UltiSnips#ListSnippets()<CR>
<Plug>NERDTreeFocusToggle & :call <SNR>53_NERDTreeFocusToggle()
<Plug>NERDTreeSteppedClose & :call <SNR>53_NERDTreeSteppedClose()
<Plug>NERDTreeSteppedOpen & :call <SNR>53_NERDTreeSteppedOpen()
<Plug>NERDTreeMirrorToggle & :call <SNR>53_NERDTreeMirrorToggle()
<Plug>NERDTreeMirrorOpen & :call <SNR>53_NERDTreeMirrorOrCreate()
<Plug>NERDTreeTabsFind & :call <SNR>53_NERDTreeFindFile()
<Plug>NERDTreeTabsToggle & :call <SNR>53_NERDTreeToggleAllTabs()
<Plug>NERDTreeTabsClose & :call <SNR>53_NERDTreeCloseAllTabs()
<Plug>NERDTreeTabsOpen & :call <SNR>53_NERDTreeOpenAllTabs()
n <M-Right> <C-W><
n <M-Left> <C-W>>
n <M-Up> <C-W>+
n <M-Down> <C-W>-
n <F2> * :call NumberToggle()<CR>
:imap
i <BS> *@<C-R>=AutoPairsDelete()<CR>
i î *@<Esc>:call AutoPairsJump()<CR>a
i ð *@AutoPairsToggle()
i â *@<C-R>=AutoPairsBackInsert()<CR>
i å *@<C-R>=AutoPairsFastWrap()<CR>
i <C-H> *@<C-R>=AutoPairsDelete()<CR>
i <CR> &@<CR><SNR>59_AutoPairsReturn
i <Space> *@<C-]><C-R>=AutoPairsSpace()<CR>
i " *@<C-R>=AutoPairsInsert('"')<CR>
i ' *@<C-R>=AutoPairsInsert('''')<CR>
i ( *@<C-R>=AutoPairsInsert('(')<CR>
i ) *@<C-R>=AutoPairsInsert(')')<CR>
i [ *@<C-R>=AutoPairsInsert('[')<CR>
i ] *@<C-R>=AutoPairsInsert(']')<CR>
i ` *@<C-R>=AutoPairsInsert('`')<CR>
i { *@<C-R>=AutoPairsInsert('{')<CR>
i } *@<C-R>=AutoPairsInsert('}')<CR>
i <Up> * pumvisible() ? "\<C-P>" : "\<Up>"
i <Down> * pumvisible() ? "\<C-N>" : "\<Down>"
i <Plug>ISurround * <C-R>=<SNR>73_insert(1)<CR>
i <Plug>Isurround * <C-R>=<SNR>73_insert()<CR>
i <Plug>NERDCommenterInsert * <Space><BS><Esc>:call NERDComment('i', "insert")<CR>
i <Plug>AutoPairsReturn & <SNR>59_AutoPairsReturn
i <SNR>59_AutoPairsReturn * <C-R>=AutoPairsReturn()<CR>
i <C-Tab> * <C-R>=UltiSnips#ListSnippets()<CR>
i <C-G>S <Plug>ISurround
i <C-G>s <Plug>Isurround
i <Tab> * <C-R>=UltiSnips#ExpandSnippetOrJump()<CR>
i <NL> * <C-X><C-O><C-P>
i <C-N> * pumvisible() ? "\<C-N>" : "\<C-N>"
i <C-P> * pumvisible() ? "\<C-P>" : "\<C-P>"
i <C-S> <Plug>Isurround
i kj <Esc>
:version
显示 -python
+python3
我没有在.vimrc
中添加ropevim的任何配置。现在,整个键绑定(bind)不起作用。如果我输入 :Rope
和 tab,什么也不会显示。但是 :h rod
将显示文档
安装时有什么遗漏吗?或者任何配置都应该放入 .vimrc 中?
最佳答案
:map
显示什么? :imap
对于 Ctrl-]
显示什么?我的 ~/.vimrc
中有这个:
let ropevim_vim_completion=1
let ropevim_extended_complete=1
let ropevim_codeassist_maxfixes=1
let ropevim_goto_def_newwin="tabnew"
let ropevim_autoimport_modules = ["os.*","traceback", "xml.etree"]
"imap <c-space> <C-R>=RopeCodeAssistInsertMode()<CR>
au FileType python
\ noremap <silent> <buffer> <C-]> :RopeGotoDefinition<CR>
<小时/>
好的,所以问题出在 vim 上,它不支持 Python 2 插件。
Rope 尚不兼容 py3k。
(编辑:rope 现在完全支持 Python 3)
(甚至稍后编辑:这是正确且真实的,但我认为整个 Ropevim 已弃用。安装正确的 LSP 客户端(neovim 原生),python-lsp-server
和 pylsp-rope
通过 pip
的 Python 模块,并使用它来代替)
关于python-rope/ropevim 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39952334/
我正在处理一组标记为 160 个组的 173k 点。我想通过合并最接近的(到 9 或 10 个组)来减少组/集群的数量。我搜索过 sklearn 或类似的库,但没有成功。 我猜它只是通过 knn 聚类
我有一个扁平数字列表,这些数字逻辑上以 3 为一组,其中每个三元组是 (number, __ignored, flag[0 or 1]),例如: [7,56,1, 8,0,0, 2,0,0, 6,1,
我正在使用 pipenv 来管理我的包。我想编写一个 python 脚本来调用另一个使用不同虚拟环境(VE)的 python 脚本。 如何运行使用 VE1 的 python 脚本 1 并调用另一个 p
假设我有一个文件 script.py 位于 path = "foo/bar/script.py"。我正在寻找一种在 Python 中通过函数 execute_script() 从我的主要 Python
这听起来像是谜语或笑话,但实际上我还没有找到这个问题的答案。 问题到底是什么? 我想运行 2 个脚本。在第一个脚本中,我调用另一个脚本,但我希望它们继续并行,而不是在两个单独的线程中。主要是我不希望第
我有一个带有 python 2.5.5 的软件。我想发送一个命令,该命令将在 python 2.7.5 中启动一个脚本,然后继续执行该脚本。 我试过用 #!python2.7.5 和http://re
我在 python 命令行(使用 python 2.7)中,并尝试运行 Python 脚本。我的操作系统是 Windows 7。我已将我的目录设置为包含我所有脚本的文件夹,使用: os.chdir("
剧透:部分解决(见最后)。 以下是使用 Python 嵌入的代码示例: #include int main(int argc, char** argv) { Py_SetPythonHome
假设我有以下列表,对应于及时的股票价格: prices = [1, 3, 7, 10, 9, 8, 5, 3, 6, 8, 12, 9, 6, 10, 13, 8, 4, 11] 我想确定以下总体上最
所以我试图在选择某个单选按钮时更改此框架的背景。 我的框架位于一个类中,并且单选按钮的功能位于该类之外。 (这样我就可以在所有其他框架上调用它们。) 问题是每当我选择单选按钮时都会出现以下错误: co
我正在尝试将字符串与 python 中的正则表达式进行比较,如下所示, #!/usr/bin/env python3 import re str1 = "Expecting property name
考虑以下原型(prototype) Boost.Python 模块,该模块从单独的 C++ 头文件中引入类“D”。 /* file: a/b.cpp */ BOOST_PYTHON_MODULE(c)
如何编写一个程序来“识别函数调用的行号?” python 检查模块提供了定位行号的选项,但是, def di(): return inspect.currentframe().f_back.f_l
我已经使用 macports 安装了 Python 2.7,并且由于我的 $PATH 变量,这就是我输入 $ python 时得到的变量。然而,virtualenv 默认使用 Python 2.6,除
我只想问如何加快 python 上的 re.search 速度。 我有一个很长的字符串行,长度为 176861(即带有一些符号的字母数字字符),我使用此函数测试了该行以进行研究: def getExe
list1= [u'%app%%General%%Council%', u'%people%', u'%people%%Regional%%Council%%Mandate%', u'%ppp%%Ge
这个问题在这里已经有了答案: Is it Pythonic to use list comprehensions for just side effects? (7 个答案) 关闭 4 个月前。 告
我想用 Python 将两个列表组合成一个列表,方法如下: a = [1,1,1,2,2,2,3,3,3,3] b= ["Sun", "is", "bright", "June","and" ,"Ju
我正在运行带有最新 Boost 发行版 (1.55.0) 的 Mac OS X 10.8.4 (Darwin 12.4.0)。我正在按照说明 here构建包含在我的发行版中的教程 Boost-Pyth
学习 Python,我正在尝试制作一个没有任何第 3 方库的网络抓取工具,这样过程对我来说并没有简化,而且我知道我在做什么。我浏览了一些在线资源,但所有这些都让我对某些事情感到困惑。 html 看起来
我是一名优秀的程序员,十分优秀!