]> 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:

Highlight yanked text
[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 -----------------------------------------------------------------------------
26 --- displaying text
27 -----------------------------------------------------------------------------
28
29 -- preserve indentation in wrapped text
30 vim.opt.breakindent = true
31
32 -----------------------------------------------------------------------------
33 --- editing text
34 -----------------------------------------------------------------------------
35
36 -- line length above which to break a line
37 vim.opt.textwidth = 78
38
39 -- list of flags that tell how automatic formatting works
40 vim.opt.formatoptions = 'tcroqn1l'
41
42 -- pattern to recognize a numbered list
43 -- [[…]] is the Lua way to disable escape sequences in strings
44 vim.opt.formatlistpat = [[^\v\s*(((#|\a|\d{,4}|[ivx]{,4})[]:.)}/])+|[-\*.·→+])\s+]]
45
46 -- whether to use a popup menu for Insert mode completion
47 vim.opt.completeopt = { 'menu', 'noinsert', 'popup', 'preview' }
48
49 -- number of spaces used for each step of (auto)indent
50 vim.opt.shiftwidth = 2
51
52 -- round to 'shiftwidth' for "<<" and ">>"
53 vim.opt.shiftround = true
54
55 -- expand <Tab> to spaces in Insert mode
56 vim.opt.expandtab = true
57
58 -- copy whitespace for indenting from previous line
59 vim.opt.copyindent = true
60
61 -- preserve kind of whitespace when changing indent
62 vim.opt.preserveindent = true
63
64 -- automatically save and restore undo history
65 vim.opt.undofile = true
66
67 -----------------------------------------------------------------------------
68 --- folding
69 -----------------------------------------------------------------------------
70
71 -- folding type: "manual", "indent", "expr", "marker", "syntax" or "diff"
72 vim.opt.foldmethod = 'marker'
73
74 -----------------------------------------------------------------------------
75 --- reading and writing files
76 -----------------------------------------------------------------------------
77
78 -- automatically write a file when leaving a modified buffer
79 vim.opt.autowrite = true
80
81 -- as 'autowrite', but works with more commands
82 vim.opt.autowriteall = true
83
84 -- automatically read a file when it was modified outside of Vim
85 vim.opt.autoread = true
86
87 -----------------------------------------------------------------------------
88 --- the swap file
89 -----------------------------------------------------------------------------
90
91 -- list of directories for the swap file
92 vim.opt.directory = { '.', vim.g.statedir .. '/swap//', '/var/tmp//', '$TMPDIR//', '/tmp//' }
93
94 -----------------------------------------------------------------------------
95 --- command line editing
96 -----------------------------------------------------------------------------
97
98 -- list of patterns to ignore files for file name completion
99 vim.opt.wildignore = { '*.o', '*.pyc', '*.pyo', '*~', '*.bk', '*.bak' }
100
101 -----------------------------------------------------------------------------
102 --- various
103 -----------------------------------------------------------------------------
104
105 -- safer working with script files in the current directory
106 vim.opt.secure = true
107
108 -- list that specifies what to write in the ShaDa file
109 vim.opt.shada = {'!', '%', '\'100', '/100', ':100', '<100', '@100', 'f1', 'h', 's10' }
110 -- location of shada file
111 vim.opt.shadafile = vim.g.statedir .. "shada/main.shada"
112
113 -- disable the mouse entirely
114 vim.opt.mouse = ''