| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340 |
- *ropevim.txt* *Ropevim* Rope in VIM
- ==============================================================================
- CONTENTS *Rope contents*
- 1.Refactoring Dialog......................|RopeRefactoringDialog|
- 2.Finding Files...........................|RopeFindingFiles|
- 3.Code Assist.............................|RopeCodeAssist|
- 4.Enabling Autoimport.....................|RopeEnablingAutoimport|
- 5.Filtering Resources.....................|RopeFilteringResources|
- 6.Finding Occurrences.....................|RopeFindOccurrences|
- 7.Dialog Batchset Command.................|RopeDialogBatchsetCommand|
- 8.Variables...............................|RopeVariables|
- 9.Keybindings.............................|RopeKeys|
- ==============================================================================
- 1. Refactoring Dialog ~
- *RopeRefactoringDialog*
- Ropevim refactorings use a special kind of dialog. Depending on the
- refactoring, you'll be asked about the essential information a
- refactoring needs to know (like the new name in rename refactoring).
- Next you'll see the base prompt of a refactoring dialog that shows
- something like "Choose what to do". By entering the name of a
- refactoring option you can set its value. After setting each option
- you'll be returned back to the base prompt. Finally, you can ask rope
- to perform, preview or cancel the refactoring.
- See |RopeKeys| section and try the refactorings yourself.
- ==============================================================================
- 2. Finding Files ~
- *RopeFindingFiles*
- *:RopeFindFile*
- *:RopeFindFileOtherWindow*
- By using |:RopeFindFile| ("<C-x> p f" by default), you can search for
- files in your project. When you complete the minibuffer you'll see
- all files in the project; files are shown as their reversed paths.
- For instance ``projectroot/docs/todo.txt`` is shown like
- ``todo.txt<docs``. This way you can find files faster in your
- project. |:RopeFindFileOtherWindow| ("<C-x> p 4 f") opens the
- file in the other window.
- ==============================================================================
- 3. Code Assist ~
- *RopeCodeAssist*
- *:RopeCodeAssist*
- *:RopeLuckyAssist*
- *'pymode_rope_vim_completion'*
- *'pymode_rope_extended_complete'*
- |:RopeCodeAssist| command (<M-/>) will let you select from a list
- of completions. |:RopeLuckyAssist| command (<M-?>) does not ask
- anything; instead, it inserts the first proposal.
- You can tell ropevim to use vim's complete function in insert mode;
- Add: >
- let pymode_rope_vim_completion=1
- <
- to your '~/.vimrc' file.
- Note:
- That when this variable is set, autoimport completions no longer
- work since they need to insert an import to the top of the module,
- too.
- By default autocomplete feature will use plain list of proposed completion
- items. You can enable showing extended information about completion
- proposals by setting : >
- let pymode_rope_extended_complete=1
- <
- Completion menu list will show the proposed name itself, one letter which
- shows where this proposal came from (it can be "L" for locals, "G" for
- globals, "B" for builtins, or empty string if such scope definition is not
- applicable), a short object type description (such as "func", "param",
- "meth" and so forth) and a first line of proposed object's docstring (if it
- has one). For function's keyword parameters the last field shows "*" symbol
- if this param is required or "= <default value>" if it is not.
- ==============================================================================
- 4. Enabling Autoimport ~
- *RopeEnablingAutoimport*
- *:RopevimAutoImport*
- *:RopeGenerateAutoimportCache*
- Rope can propose and automatically import global names in other
- modules. Rope maintains a cache of global names for each project. It
- updates the cache only when modules are changed; if you want to cache
- all your modules at once, use |:RopeGenerateAutoimportCache|. It
- will cache all of the modules inside the project plus those whose
- names are listed in |'pymode_rope_autoimport_modules'| list: >
- " add the name of modules you want to autoimport
- let g:pymode_rope_autoimport_modules = ["os", "shutil"]
- <
- Now if you are in a buffer that contains: >
- rmtree
- <
- and you execute |:RopevimAutoImport| you'll end up with: >
- from shutil import rmtree
- rmtree
- <
- Also |:RopeCodeAssist| and |:RopeLuckyAssist| propose auto-imported
- names by using "name : module" style. Selecting them will import
- the module automatically.
- ==============================================================================
- 5. Filtering Resources ~
- *RopeFilteringResources*
- Some refactorings, restructuring and find occurrences take an option
- called resources. This option can be used to limit the resources on
- which a refactoring should be applied.
- It uses a simple format: each line starts with either '+' or '-'.
- Each '+' means include the file (or its children if it's a folder)
- that comes after it. '-' has the same meaning for exclusion. So
- using: >
- +rope
- +ropetest
- -rope/contrib
- <
- means include all python files inside ``rope`` and ``ropetest``
- folders and their subfolder, but those that are in ``rope/contrib``.
- Or: >
- -ropetest
- -setup.py
- <
- means include all python files inside the project but ``setup.py`` and
- those under ``ropetest`` folder.
- ==============================================================================
- 6. Finding Occurrences ~
- *RopeFindOccurrences*
- The find occurrences command ("<C-c> f" by default) can be used to
- find the occurrences of a python name. If ``unsure`` option is
- ``yes``, it will also show unsure occurrences; unsure occurrences are
- indicated with a ``?`` mark in the end.
- Note:
- That ropevim uses the quickfix feature of vim for
- marking occurrence locations.
- ==============================================================================
- 7. Dialog Batchset Command ~
- *RopeDialogBatchsetCommand*
- When you use ropevim dialogs there is a command called ``batchset``.
- It can set many options at the same time. After selecting this
- command from dialog base prompt, you are asked to enter a string.
- ``batchset`` strings can set the value of configs in two ways. The
- single line form is like this: >
- name1 value1
- name2 value2
- <
- That is the name of config is followed its value. For multi-line
- values you can use: >
- name1
- line1
- line2
- name2
- line3
- <
- Each line of the definition should start with a space or a tab.
- Note:
- That blank lines before the name of config definitions are ignored.
- ``batchset`` command is useful when performing refactorings with long
- configs, like restructurings: >
- pattern ${pycore}.create_module(${project}.root, ${name})
- goal generate.create_module(${project}, ${name})
- imports
- from rope.contrib import generate
- args
- pycore: type=rope.base.pycore.PyCore
- project: type=rope.base.project.Project
- <
- .. ignore the two-space indents
- This is a valid ``batchset`` string for restructurings.
- Just for the sake of completeness, the reverse of the above
- restructuring can be: >
- pattern ${create_module}(${project}, ${name})
- goal ${project}.pycore.create_module(${project}.root, ${name})
- args
- create_module: name=rope.contrib.generate.create_module
- project: type=rope.base.project.Project
- <
- ==============================================================================
- 8. Variables ~
- *RopeVariables*
- *'pymode_rope_codeassist_maxfixes'* The maximum number of syntax errors
- to fix for code assists.
- The default value is `1`.
- *'pymode_rope_local_prefix'* The prefix for ropevim refactorings.
- Defaults to `<C-c> r`.
- *'pymode_rope_global_prefix'* The prefix for ropevim project commands
- Defaults to `<C-x> p`.
- *'pymode_rope_enable_shortcuts'* Shows whether to bind ropevim shortcuts keys.
- Defaults to `1`.
- *'pymode_rope_guess_project'* If non-zero, ropevim tries to guess and
- open the project that contains the file on which
- a ropevim command is performed when no project
- is already open.
- *'pymode_rope_enable_autoimport'* Shows whether to enable autoimport.
- *'pymode_rope_autoimport_modules'* The name of modules whose global names should
- be cached. |:RopeGenerateAutoimportCache| reads
- this list and fills its cache.
- *'pymode_rope_autoimport_underlineds'* If set, autoimport will cache names starting
- with underlines, too.
- *'pymode_rope_goto_def_newwin'* If set, ropevim will open a new buffer
- for "go to definition" result if the definition
- found is located in another file. By default the
- file is open in the same buffer.
- Values: '' -- same buffer, 'new' --
- horizontally split, 'vnew' --
- vertically split
- *'pymode_rope_always_show_complete_menu'* If set, rope autocompletion menu
- always show.
- ==============================================================================
- 9. Keybinding ~
- *RopeKeys*
- Uses almost the same keybinding as ropemacs.
- Note:
- That global commands have a `<C-x> p` prefix and local commands
- have a ``<C-c> r`` prefix.
- You can change that (see |RopeVariables| section).
- ================ ============================
- Key Command
- ================ ============================
- C-x p o |:RopeOpenProject|
- C-x p k |:RopeCloseProject|
- C-x p f |:RopeFindFile|
- C-x p 4 f |:RopeFindFileOtherWindow|
- C-x p u |:RopeUndo|
- C-x p r |:RopeRedo|
- C-x p c |:RopeProjectConfig|
- C-x p n [mpfd] |:RopeCreate|(Module|Package|File|Directory)
- |:RopeWriteProject|
- C-c r r |:RopeRename|
- C-c r l |:RopeExtractVariable|
- C-c r m |:RopeExtractMethod|
- C-c r i |:RopeInline|
- C-c r v |:RopeMove|
- C-c r x |:RopeRestructure|
- C-c r u |:RopeUseFunction|
- C-c r f |:RopeIntroduceFactory|
- C-c r s |:RopeChangeSignature|
- C-c r 1 r |:RopeRenameCurrentModule|
- C-c r 1 v |:RopeMoveCurrentModule|
- C-c r 1 p |:RopeModuleToPackage|
- C-c r o |:RopeOrganizeImports|
- C-c r n [vfcmp] |:RopeGenerate|(Variable|Function|Class|Module|Package)
- C-c r a / |:RopeCodeAssist|
- C-c r a g |:RopeGotoDefinition|
- C-c r a d |:RopeShowDoc|
- C-c r a f |:RopeFindOccurrences|
- C-c r a ? |:RopeLuckyAssist|
- C-c r a j |:RopeJumpToGlobal|
- C-c r a c |:RopeShowCalltip|
- |:RopeAnalyzeModule|
- |:RopeAutoImport|
- |:RopeGenerateAutoimportCache|
- =============== ============================
- ==============================================================================
- 10. Shortcuts ~
- *RopeShortcuts*
- Some commands are used very frequently; specially the commands in
- code-assist group. You can define your own shortcuts like this: >
- :map <C-c>g :call RopeGotoDefinition()
- <
- ================ ============================
- Key Command
- ================ ============================
- <C-Space> |:RopeCodeAssist|
- <C-?> |:RopeLuckyAssist|
- <C-c> g |:RopeGotoDefinition|
- <C-c> d |:RopeShowDoc|
- <C-c> f |:RopeFindOccurrences|
- ================ ============================
- ------------------------------------------------------------------------------
- vim:tw=78:fo=tcq2:isk=!-~,^*,^\|,^\":ts=8:ft=help:norl:
|