]> git.madduck.net Git - etc/neovim.git/blob - .config/nvim/options.lua

madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to patches@git.madduck.net. If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

add markdown and tabular plugins
[etc/neovim.git] / .config / nvim / options.lua
1 -----------------------------------------------------------------------------
2 --- moving around, searching and patterns
3 -----------------------------------------------------------------------------
4
5 -- ignore case when using a search pattern
6 vim.opt.ignorecase = true
7
8 -- override 'ignorecase' when pattern has upper case characters
9 vim.opt.smartcase = true
10
11 -----------------------------------------------------------------------------
12 --- syntax, highlighting and spelling
13 -----------------------------------------------------------------------------
14
15 -- "dark" or "light"; the background color brightness
16 vim.opt.background = 'light'
17
18 -----------------------------------------------------------------------------
19 --- messages and info
20 -----------------------------------------------------------------------------
21
22 -- list of flags to make messages shorter
23 vim.opt.shortmess = 'atTWoOI'
24
25 -- display the current mode in the status line
26 vim.opt.showmode = false  -- the cursor already reflects the mode
27
28 -----------------------------------------------------------------------------
29 --- displaying text
30 -----------------------------------------------------------------------------
31
32 -- preserve indentation in wrapped text
33 vim.opt.breakindent = true
34
35 -----------------------------------------------------------------------------
36 --- editing text
37 -----------------------------------------------------------------------------
38
39 -- line length above which to break a line
40 vim.opt.textwidth = 78
41
42 -- list of flags that tell how automatic formatting works
43 vim.opt.formatoptions = 'tcroqn1l'
44
45 -- pattern to recognize a numbered list
46 -- [[…]] is the Lua way to disable escape sequences in strings
47 vim.opt.formatlistpat = [[^\v\s*(((#|\a|\d{,4}|[ivx]{,4})[]:.)}/])+|[-\*.·→+])\s+]]
48
49 -- whether to use a popup menu for Insert mode completion
50 vim.opt.completeopt = { 'menu', 'noinsert', 'popup', 'preview' }
51
52 -- number of spaces used for each step of (auto)indent
53 vim.opt.shiftwidth = 2
54
55 -- round to 'shiftwidth' for "<<" and ">>"
56 vim.opt.shiftround = true
57
58 -- expand <Tab> to spaces in Insert mode
59 vim.opt.expandtab = true
60
61 -- copy whitespace for indenting from previous line
62 vim.opt.copyindent = true
63
64 -- preserve kind of whitespace when changing indent
65 vim.opt.preserveindent = true
66
67 -- automatically save and restore undo history
68 vim.opt.undofile = true
69
70 -----------------------------------------------------------------------------
71 --- folding
72 -----------------------------------------------------------------------------
73
74 -- folding type: "manual", "indent", "expr", "marker", "syntax" or "diff"
75 vim.opt.foldmethod = 'marker'
76
77 -----------------------------------------------------------------------------
78 --- reading and writing files
79 -----------------------------------------------------------------------------
80
81 -- automatically write a file when leaving a modified buffer
82 vim.opt.autowrite = true
83
84 -- as 'autowrite', but works with more commands
85 vim.opt.autowriteall = true
86
87 -- automatically read a file when it was modified outside of Vim
88 vim.opt.autoread = true
89
90 -----------------------------------------------------------------------------
91 --- the swap file
92 -----------------------------------------------------------------------------
93
94 -- list of directories for the swap file
95 vim.opt.directory = { '.', vim.g.statedir .. '/swap//', '/var/tmp//', '$TMPDIR//', '/tmp//' }
96
97 -----------------------------------------------------------------------------
98 --- command line editing
99 -----------------------------------------------------------------------------
100
101 -- list of patterns to ignore files for file name completion
102 vim.opt.wildignore = { '*.o', '*.pyc', '*.pyo', '*~', '*.bk', '*.bak' }
103
104 -----------------------------------------------------------------------------
105 --- various
106 -----------------------------------------------------------------------------
107
108 -- safer working with script files in the current directory
109 vim.opt.secure = true
110
111 -- list that specifies what to write in the ShaDa file
112 vim.opt.shada = {'!', '%', '\'100', '/100', ':100', '<100', '@100', 'f1', 'h', 's10' }
113 -- location of shada file
114 vim.opt.shadafile = vim.g.statedir .. "shada/main.shada"
115
116 -- disable the mouse entirely
117 vim.opt.mouse = ''