vimrc updates
This commit is contained in:
parent
f78ee71434
commit
dd88ef6d8d
Binary file not shown.
After Width: | Height: | Size: 108 KiB |
|
@ -240,4 +240,63 @@ This is a setting you can either fix in your vimrc, or change in the fly, your c
|
|||
**Don't be greedy and set it to the root of your hard drive.
|
||||
This will slow vim down way too much because there are just too many files and folders!**
|
||||
|
||||
## IDE like features without plugins
|
||||
|
||||
We already have syntax highlighting via the `set syntax=on` feature but we can also have autocomplete for quite a lot of scripting languages out of the box.
|
||||
This is one of the main reasons we install vim-nox and not vim!
|
||||
The shortcut to achieve it is a double whammy `<c-x><c-o>` which triggers omnicomplete.
|
||||
Have a look at `:help omnifunc` to learn more about it but first, a hands on example.
|
||||
|
||||
1. Open the python file we made before with `vim -u ~/vimrc_basic ~/python_test.py`
|
||||
2. Navigate to the end of the file, go into **insert** mode and type `datetime.`
|
||||
3. Remain in insert mode after the `.` and hit `<c-x><c-o>`
|
||||
4. Stay calm and read on.
|
||||
|
||||
![autocomplete](./assets/vim_02.png)
|
||||
|
||||
The screenshot above is probably very much like what you're confronted with.
|
||||
The *dropdown* menu is a context aware autocomplete menu meaning these are all functions, methods, classes or variables belonging to this module.
|
||||
The horizontal split window at the top shows the documentation of the menu item you have selected.
|
||||
You can navigate this list either with the *arrows* or with `<c-n>` to go down and `<c-p>` to go up.
|
||||
|
||||
I personally don't like the documentation jumping up and down on my screen so you can add the following to remove it all together.
|
||||
Now to be able to view the documentation we'll need to install some plugins.
|
||||
I have not found a clean way of hiding the preview window *and* adding a shortcut to show documentation.
|
||||
|
||||
```
|
||||
set completeopt-=preview
|
||||
```
|
||||
|
||||
### Complete more things
|
||||
|
||||
Vim can do a lot more than just complete python code.
|
||||
When you press `<c-x>` you'll see a menu at the bottom along these lines.
|
||||
|
||||
```
|
||||
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
|
||||
```
|
||||
|
||||
Every `^CHARACTER` is a different mode of autocomplete!
|
||||
Try out the `^K` one just for fun.
|
||||
It will probably say this the following.
|
||||
|
||||
```
|
||||
'dictionary' option is empty
|
||||
```
|
||||
|
||||
We can *set* a dictionary, which is just a list of words, to autocomplete from.
|
||||
Let me walk you through an example.
|
||||
|
||||
1. Open up a blank text file with my basic vimrc.
|
||||
2. Go into **insert** mode and type in `hipp`.
|
||||
3. Stay in **insert** mode and type `<c-x><c-k>` which will show the same error message as before.
|
||||
4. Exit insert mode with `ESC`
|
||||
5. Set the dictionary by typing `:set dictionary=/usr/share/dict/american-english` (you should have this file)
|
||||
6. Go into **insert** moder after `hipp` and type `<c-x><c-k>` again.
|
||||
|
||||
Nice no?
|
||||
|
||||
|
||||
## Beyond vanilla vim
|
||||
|
||||
TODO
|
||||
|
|
Loading…
Reference in New Issue