diff options
Diffstat (limited to 'code/linux/vim.html')
-rw-r--r-- | code/linux/vim.html | 391 |
1 files changed, 21 insertions, 370 deletions
diff --git a/code/linux/vim.html b/code/linux/vim.html index 75e0075..efff915 100644 --- a/code/linux/vim.html +++ b/code/linux/vim.html | |||
@@ -7,14 +7,16 @@ | |||
7 | <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" /> | 7 | <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" /> |
8 | <title>vim学习与我的配置</title> | 8 | <title>vim学习与我的配置</title> |
9 | <link rel="stylesheet" href="https://www.qin-juan-ge-zhu.top/common/CSS/pandoc.css"> | 9 | <link rel="stylesheet" href="https://www.qin-juan-ge-zhu.top/common/CSS/pandoc.css"> |
10 | <script type="text/javascript" src="https://hl.qin-juan-ge-zhu.top/myset/myhighlight.js"></script> | ||
11 | <script type="text/javascript" src="https://www.qin-juan-ge-zhu.top/common/script4code.js"></script> | 10 | <script type="text/javascript" src="https://www.qin-juan-ge-zhu.top/common/script4code.js"></script> |
12 | </head> | 11 | </head> |
13 | 12 | ||
14 | <body> | 13 | <body> |
15 | <div class="pandoc"> | 14 | <div class="pandoc"> |
16 | <div class="main"> | 15 | <div class="main"> |
17 | <p class="title">vim学习与我的配置</p> | 16 | <header id="title-block-header"> |
17 | <p class="title">vim学习与我的配置</p> | ||
18 | </header> | ||
19 | <!-- 我的vim设置 --> | ||
18 | <h1 id="vim-那是个什么-jb-东西">vim? 那是个什么 JB 东西?</h1> | 20 | <h1 id="vim-那是个什么-jb-东西">vim? 那是个什么 JB 东西?</h1> |
19 | <p>Enjoy coding 的你,是否时常痛恨鼠标点来点去、方向键远离字母,耽误码字?可曾詈骂手动批量重复处理的痛苦?Debug | 21 | <p>Enjoy coding 的你,是否时常痛恨鼠标点来点去、方向键远离字母,耽误码字?可曾詈骂手动批量重复处理的痛苦?Debug |
20 | 时代码上下反复跳转,令你烦闷否?别人写的编辑器设置种种不便,是否想过有一个自己私人订制的编辑器?如果你有以上苦恼,那么 vim 将是你的绝佳选择。</p> | 22 | 时代码上下反复跳转,令你烦闷否?别人写的编辑器设置种种不便,是否想过有一个自己私人订制的编辑器?如果你有以上苦恼,那么 vim 将是你的绝佳选择。</p> |
@@ -52,355 +54,7 @@ | |||
52 | </tbody> | 54 | </tbody> |
53 | </table> | 55 | </table> |
54 | <p>其关系如下:</p> | 56 | <p>其关系如下:</p> |
55 | <div class="md-diagram-panel md-fences-adv-panel" lang="mermaid"><svg id="mermaidChart0" width="100%" | 57 | <img src="https://www.qin-juan-ge-zhu.top/images/code/vim_mode.png"> |
56 | xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" | ||
57 | style="max-width: 262.825px; margin: auto;" viewBox="-8 -8 262.82501220703125 235.02500915527344" | ||
58 | role="graphics-document document" aria-roledescription="flowchart-v2"> | ||
59 | <style> | ||
60 | #mermaidChart0 { | ||
61 | font-family: sans-serif; | ||
62 | font-size: 16px; | ||
63 | fill: #333; | ||
64 | } | ||
65 | |||
66 | #mermaidChart0 .error-icon { | ||
67 | fill: #552222; | ||
68 | } | ||
69 | |||
70 | #mermaidChart0 .error-text { | ||
71 | fill: #552222; | ||
72 | stroke: #552222; | ||
73 | } | ||
74 | |||
75 | #mermaidChart0 .edge-thickness-normal { | ||
76 | stroke-width: 2px; | ||
77 | } | ||
78 | |||
79 | #mermaidChart0 .edge-thickness-thick { | ||
80 | stroke-width: 3.5px; | ||
81 | } | ||
82 | |||
83 | #mermaidChart0 .edge-pattern-solid { | ||
84 | stroke-dasharray: 0; | ||
85 | } | ||
86 | |||
87 | #mermaidChart0 .edge-pattern-dashed { | ||
88 | stroke-dasharray: 3; | ||
89 | } | ||
90 | |||
91 | #mermaidChart0 .edge-pattern-dotted { | ||
92 | stroke-dasharray: 2; | ||
93 | } | ||
94 | |||
95 | #mermaidChart0 .marker { | ||
96 | fill: #333333; | ||
97 | stroke: #333333; | ||
98 | } | ||
99 | |||
100 | #mermaidChart0 .marker.cross { | ||
101 | stroke: #333333; | ||
102 | } | ||
103 | |||
104 | #mermaidChart0 svg { | ||
105 | font-family: sans-serif; | ||
106 | font-size: 16px; | ||
107 | } | ||
108 | |||
109 | #mermaidChart0 .label { | ||
110 | font-family: sans-serif; | ||
111 | color: #333; | ||
112 | } | ||
113 | |||
114 | #mermaidChart0 .cluster-label text { | ||
115 | fill: #333; | ||
116 | } | ||
117 | |||
118 | #mermaidChart0 .cluster-label span, | ||
119 | #mermaidChart0 p { | ||
120 | color: #333; | ||
121 | } | ||
122 | |||
123 | #mermaidChart0 .label text, | ||
124 | #mermaidChart0 span, | ||
125 | #mermaidChart0 p { | ||
126 | fill: #333; | ||
127 | color: #333; | ||
128 | } | ||
129 | |||
130 | #mermaidChart0 .node rect, | ||
131 | #mermaidChart0 .node circle, | ||
132 | #mermaidChart0 .node ellipse, | ||
133 | #mermaidChart0 .node polygon, | ||
134 | #mermaidChart0 .node path { | ||
135 | fill: #ECECFF; | ||
136 | stroke: #9370DB; | ||
137 | stroke-width: 1px; | ||
138 | } | ||
139 | |||
140 | #mermaidChart0 .flowchart-label text { | ||
141 | text-anchor: middle; | ||
142 | } | ||
143 | |||
144 | #mermaidChart0 .node .label { | ||
145 | text-align: center; | ||
146 | } | ||
147 | |||
148 | #mermaidChart0 .node.clickable { | ||
149 | cursor: pointer; | ||
150 | } | ||
151 | |||
152 | #mermaidChart0 .arrowheadPath { | ||
153 | fill: #333333; | ||
154 | } | ||
155 | |||
156 | #mermaidChart0 .edgePath .path { | ||
157 | stroke: #333333; | ||
158 | stroke-width: 2.0px; | ||
159 | } | ||
160 | |||
161 | #mermaidChart0 .flowchart-link { | ||
162 | stroke: #333333; | ||
163 | fill: none; | ||
164 | } | ||
165 | |||
166 | #mermaidChart0 .edgeLabel { | ||
167 | background-color: #e8e8e8; | ||
168 | text-align: center; | ||
169 | } | ||
170 | |||
171 | #mermaidChart0 .edgeLabel rect { | ||
172 | opacity: 0.5; | ||
173 | background-color: #e8e8e8; | ||
174 | fill: #e8e8e8; | ||
175 | } | ||
176 | |||
177 | #mermaidChart0 .labelBkg { | ||
178 | background-color: rgba(232, 232, 232, 0.5); | ||
179 | } | ||
180 | |||
181 | #mermaidChart0 .cluster rect { | ||
182 | fill: #ffffde; | ||
183 | stroke: #aaaa33; | ||
184 | stroke-width: 1px; | ||
185 | } | ||
186 | |||
187 | #mermaidChart0 .cluster text { | ||
188 | fill: #333; | ||
189 | } | ||
190 | |||
191 | #mermaidChart0 .cluster span, | ||
192 | #mermaidChart0 p { | ||
193 | color: #333; | ||
194 | } | ||
195 | |||
196 | #mermaidChart0 div.mermaidTooltip { | ||
197 | position: absolute; | ||
198 | text-align: center; | ||
199 | max-width: 200px; | ||
200 | padding: 2px; | ||
201 | font-family: sans-serif; | ||
202 | font-size: 12px; | ||
203 | background: hsl(80, 100%, 96.2745098039%); | ||
204 | border: 1px solid #aaaa33; | ||
205 | border-radius: 2px; | ||
206 | pointer-events: none; | ||
207 | z-index: 100; | ||
208 | } | ||
209 | |||
210 | #mermaidChart0 .flowchartTitleText { | ||
211 | text-anchor: middle; | ||
212 | font-size: 18px; | ||
213 | fill: #333; | ||
214 | } | ||
215 | |||
216 | #mermaidChart0 :root { | ||
217 | --mermaid-alt-font-family: sans-serif; | ||
218 | } | ||
219 | </style> | ||
220 | <g> | ||
221 | <marker id="mermaidChart0_flowchart-pointEnd" class="marker flowchart" viewBox="0 0 10 10" | ||
222 | refX="6" refY="5" markerUnits="userSpaceOnUse" markerWidth="12" markerHeight="12" | ||
223 | orient="auto"> | ||
224 | <path d="M 0 0 L 10 5 L 0 10 z" class="arrowMarkerPath" | ||
225 | style="stroke-width: 1; stroke-dasharray: 1, 0;"></path> | ||
226 | </marker> | ||
227 | <marker id="mermaidChart0_flowchart-pointStart" class="marker flowchart" viewBox="0 0 10 10" | ||
228 | refX="4.5" refY="5" markerUnits="userSpaceOnUse" markerWidth="12" markerHeight="12" | ||
229 | orient="auto"> | ||
230 | <path d="M 0 5 L 10 10 L 10 0 z" class="arrowMarkerPath" | ||
231 | style="stroke-width: 1; stroke-dasharray: 1, 0;"></path> | ||
232 | </marker> | ||
233 | <marker id="mermaidChart0_flowchart-circleEnd" class="marker flowchart" viewBox="0 0 10 10" | ||
234 | refX="11" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" | ||
235 | orient="auto"> | ||
236 | <circle cx="5" cy="5" r="5" class="arrowMarkerPath" | ||
237 | style="stroke-width: 1; stroke-dasharray: 1, 0;"></circle> | ||
238 | </marker> | ||
239 | <marker id="mermaidChart0_flowchart-circleStart" class="marker flowchart" viewBox="0 0 10 10" | ||
240 | refX="-1" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" | ||
241 | orient="auto"> | ||
242 | <circle cx="5" cy="5" r="5" class="arrowMarkerPath" | ||
243 | style="stroke-width: 1; stroke-dasharray: 1, 0;"></circle> | ||
244 | </marker> | ||
245 | <marker id="mermaidChart0_flowchart-crossEnd" class="marker cross flowchart" viewBox="0 0 11 11" | ||
246 | refX="12" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" | ||
247 | orient="auto"> | ||
248 | <path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" | ||
249 | style="stroke-width: 2; stroke-dasharray: 1, 0;"></path> | ||
250 | </marker> | ||
251 | <marker id="mermaidChart0_flowchart-crossStart" class="marker cross flowchart" | ||
252 | viewBox="0 0 11 11" refX="-1" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" | ||
253 | markerHeight="11" orient="auto"> | ||
254 | <path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" | ||
255 | style="stroke-width: 2; stroke-dasharray: 1, 0;"></path> | ||
256 | </marker> | ||
257 | <g class="root"> | ||
258 | <g class="clusters"></g> | ||
259 | <g class="edgePaths"> | ||
260 | <path d="M48.358,89.675L97.363,9.837L122.363,9.837L147.363,9.837L175.048,14.286" | ||
261 | id="L-N-I-0" | ||
262 | class=" edge-thickness-normal edge-pattern-solid flowchart-link LS-N LE-I" | ||
263 | style="fill:none;" marker-end="url(#mermaidChart0_flowchart-pointEnd)"></path> | ||
264 | <path d="M71.02,89.675L97.363,74.675L122.363,74.675L147.363,74.675L174.744,90.003" | ||
265 | id="L-N-V-0" | ||
266 | class=" edge-thickness-normal edge-pattern-solid flowchart-link LS-N LE-V" | ||
267 | style="fill:none;" marker-end="url(#mermaidChart0_flowchart-pointEnd)"></path> | ||
268 | <path d="M58.314,129.35L97.363,164.35L122.363,164.35L147.363,164.35L169.533,176.761" | ||
269 | id="L-N-R-0" | ||
270 | class=" edge-thickness-normal edge-pattern-solid flowchart-link LS-N LE-R" | ||
271 | style="fill:none;" marker-end="url(#mermaidChart0_flowchart-pointEnd)"></path> | ||
272 | <path d="M180.281,36.247L147.363,54.675L122.363,54.675L97.363,54.675L62.26,86.138" | ||
273 | id="L-I-N-0" | ||
274 | class=" edge-thickness-normal edge-pattern-solid flowchart-link LS-I LE-N" | ||
275 | style="fill:none;" marker-end="url(#mermaidChart0_flowchart-pointEnd)"></path> | ||
276 | <path d="M179.369,126.433L147.363,144.35L122.363,144.35L97.363,144.35L75.625,131.973" | ||
277 | id="L-V-N-0" | ||
278 | class=" edge-thickness-normal edge-pattern-solid flowchart-link LS-V LE-N" | ||
279 | style="fill:none;" marker-end="url(#mermaidChart0_flowchart-pointEnd)"></path> | ||
280 | <path d="M172.363,205.17L147.363,209.187L122.363,209.187L97.363,209.187L51.13,133.867" | ||
281 | id="L-R-N-0" | ||
282 | class=" edge-thickness-normal edge-pattern-solid flowchart-link LS-R LE-N" | ||
283 | style="fill:none;" marker-end="url(#mermaidChart0_flowchart-pointEnd)"></path> | ||
284 | </g> | ||
285 | <g class="edgeLabels"> | ||
286 | <g class="edgeLabel"> | ||
287 | <g class="label" transform="translate(0, 0)"> | ||
288 | <foreignObject width="0" height="0"> | ||
289 | <div xmlns="http://www.w3.org/1999/xhtml" | ||
290 | style="display: inline-block; white-space: nowrap;"><span | ||
291 | class="edgeLabel"></span></div> | ||
292 | </foreignObject> | ||
293 | </g> | ||
294 | </g> | ||
295 | <g class="edgeLabel"> | ||
296 | <g class="label" transform="translate(0, 0)"> | ||
297 | <foreignObject width="0" height="0"> | ||
298 | <div xmlns="http://www.w3.org/1999/xhtml" | ||
299 | style="display: inline-block; white-space: nowrap;"><span | ||
300 | class="edgeLabel"></span></div> | ||
301 | </foreignObject> | ||
302 | </g> | ||
303 | </g> | ||
304 | <g class="edgeLabel"> | ||
305 | <g class="label" transform="translate(0, 0)"> | ||
306 | <foreignObject width="0" height="0"> | ||
307 | <div xmlns="http://www.w3.org/1999/xhtml" | ||
308 | style="display: inline-block; white-space: nowrap;"><span | ||
309 | class="edgeLabel"></span></div> | ||
310 | </foreignObject> | ||
311 | </g> | ||
312 | </g> | ||
313 | <g class="edgeLabel"> | ||
314 | <g class="label" transform="translate(0, 0)"> | ||
315 | <foreignObject width="0" height="0"> | ||
316 | <div xmlns="http://www.w3.org/1999/xhtml" | ||
317 | style="display: inline-block; white-space: nowrap;"><span | ||
318 | class="edgeLabel"></span></div> | ||
319 | </foreignObject> | ||
320 | </g> | ||
321 | </g> | ||
322 | <g class="edgeLabel"> | ||
323 | <g class="label" transform="translate(0, 0)"> | ||
324 | <foreignObject width="0" height="0"> | ||
325 | <div xmlns="http://www.w3.org/1999/xhtml" | ||
326 | style="display: inline-block; white-space: nowrap;"><span | ||
327 | class="edgeLabel"></span></div> | ||
328 | </foreignObject> | ||
329 | </g> | ||
330 | </g> | ||
331 | <g class="edgeLabel"> | ||
332 | <g class="label" transform="translate(0, 0)"> | ||
333 | <foreignObject width="0" height="0"> | ||
334 | <div xmlns="http://www.w3.org/1999/xhtml" | ||
335 | style="display: inline-block; white-space: nowrap;"><span | ||
336 | class="edgeLabel"></span></div> | ||
337 | </foreignObject> | ||
338 | </g> | ||
339 | </g> | ||
340 | </g> | ||
341 | <g class="nodes"> | ||
342 | <g class="node default default flowchart-label" id="flowchart-N-0" | ||
343 | transform="translate(36.181251525878906, 109.51249885559082)"> | ||
344 | <rect class="basic label-container" style="" rx="5" ry="5" x="-36.18124961853027" | ||
345 | y="-19.83750057220459" width="72.36249923706055" height="39.67500114440918"> | ||
346 | </rect> | ||
347 | <g class="label" style="" | ||
348 | transform="translate(-28.681249618530273, -12.33750057220459)"> | ||
349 | <rect></rect> | ||
350 | <foreignObject width="57.36249923706055" height="24.67500114440918"> | ||
351 | <div xmlns="http://www.w3.org/1999/xhtml" | ||
352 | style="display: inline-block; white-space: nowrap;"><span | ||
353 | class="nodeLabel">Normal</span></div> | ||
354 | </foreignObject> | ||
355 | </g> | ||
356 | </g> | ||
357 | <g class="node default default flowchart-label" id="flowchart-I-1" | ||
358 | transform="translate(209.59375381469727, 19.837499618530273)"> | ||
359 | <rect class="basic label-container" style="" rx="5" ry="5" x="-29.3125" | ||
360 | y="-19.83750057220459" width="58.625" height="39.67500114440918"></rect> | ||
361 | <g class="label" style="" transform="translate(-21.8125, -12.33750057220459)"> | ||
362 | <rect></rect> | ||
363 | <foreignObject width="43.625" height="24.67500114440918"> | ||
364 | <div xmlns="http://www.w3.org/1999/xhtml" | ||
365 | style="display: inline-block; white-space: nowrap;"><span | ||
366 | class="nodeLabel">Insert</span></div> | ||
367 | </foreignObject> | ||
368 | </g> | ||
369 | </g> | ||
370 | <g class="node default default flowchart-label" id="flowchart-V-3" | ||
371 | transform="translate(209.59375381469727, 109.51249885559082)"> | ||
372 | <rect class="basic label-container" style="" rx="5" ry="5" x="-30.225000381469727" | ||
373 | y="-19.83750057220459" width="60.45000076293945" height="39.67500114440918"> | ||
374 | </rect> | ||
375 | <g class="label" style="" | ||
376 | transform="translate(-22.725000381469727, -12.33750057220459)"> | ||
377 | <rect></rect> | ||
378 | <foreignObject width="45.45000076293945" height="24.67500114440918"> | ||
379 | <div xmlns="http://www.w3.org/1999/xhtml" | ||
380 | style="display: inline-block; white-space: nowrap;"><span | ||
381 | class="nodeLabel">Visual</span></div> | ||
382 | </foreignObject> | ||
383 | </g> | ||
384 | </g> | ||
385 | <g class="node default default flowchart-label" id="flowchart-R-5" | ||
386 | transform="translate(209.59375381469727, 199.18749809265137)"> | ||
387 | <rect class="basic label-container" style="" rx="5" ry="5" x="-37.23125076293945" | ||
388 | y="-19.83750057220459" width="74.4625015258789" height="39.67500114440918"> | ||
389 | </rect> | ||
390 | <g class="label" style="" | ||
391 | transform="translate(-29.731250762939453, -12.33750057220459)"> | ||
392 | <rect></rect> | ||
393 | <foreignObject width="59.462501525878906" height="24.67500114440918"> | ||
394 | <div xmlns="http://www.w3.org/1999/xhtml" | ||
395 | style="display: inline-block; white-space: nowrap;"><span | ||
396 | class="nodeLabel">Replace</span></div> | ||
397 | </foreignObject> | ||
398 | </g> | ||
399 | </g> | ||
400 | </g> | ||
401 | </g> | ||
402 | </g> | ||
403 | </svg></div> | ||
404 | <h1 id="我的-vim-学习路线">我的 vim 学习路线</h1> | 58 | <h1 id="我的-vim-学习路线">我的 vim 学习路线</h1> |
405 | <p>不幸的是 Vim 的学习曲线确实相当陡峭,最开始你会觉得非常不适应,但一旦熬过了初始阶段,你会爱上 Vim。以我而言,现在离开了 vim 的模式几乎已经快不会写材料了,前几天交作业要求 | 59 | <p>不幸的是 Vim 的学习曲线确实相当陡峭,最开始你会觉得非常不适应,但一旦熬过了初始阶段,你会爱上 Vim。以我而言,现在离开了 vim 的模式几乎已经快不会写材料了,前几天交作业要求 |
406 | word,我保存文件居然不是<kbd>Ctrl+s</kbd>,而是顺手来了个<kbd>:wq</kbd>。</p> | 60 | word,我保存文件居然不是<kbd>Ctrl+s</kbd>,而是顺手来了个<kbd>:wq</kbd>。</p> |
@@ -446,11 +100,11 @@ | |||
446 | </ul> | 100 | </ul> |
447 | <h2 id="清理干净">清理干净</h2> | 101 | <h2 id="清理干净">清理干净</h2> |
448 | <p>下载的第一步当然是卸载当前系统具有的 vim 了。除此之外,由于 Python2 过于老旧,我选择不支持 Python2 仅支持 Python3 的 vim,因此也将 Python2 卸载。</p> | 102 | <p>下载的第一步当然是卸载当前系统具有的 vim 了。除此之外,由于 Python2 过于老旧,我选择不支持 Python2 仅支持 Python3 的 vim,因此也将 Python2 卸载。</p> |
449 | <pre><code>sudo apt autoremove vim rvim gvim vim-runtime | 103 | <pre><code class="language-bash">sudo apt autoremove vim rvim gvim vim-runtime |
450 | sudo apt autoremove python2*</code></pre> | 104 | sudo apt autoremove python2*</code></pre> |
451 | <h2 id="做好准备">做好准备</h2> | 105 | <h2 id="做好准备">做好准备</h2> |
452 | <p>为了编译能够支持 python3/rust/perl/lua 等语言的 vim,我们需要安装一些包。</p> | 106 | <p>为了编译能够支持 python3/rust/perl/lua 等语言的 vim,我们需要安装一些包。</p> |
453 | <pre><code>sudo apt install -y git \ | 107 | <pre><code class="language-bash">sudo apt install -y git \ |
454 | libatk1.0-dev \ | 108 | libatk1.0-dev \ |
455 | libcairo2-dev \ | 109 | libcairo2-dev \ |
456 | liblua5.1-0-dev \ | 110 | liblua5.1-0-dev \ |
@@ -470,7 +124,7 @@ sudo apt autoremove python2*</code></pre> | |||
470 | <h2 id="下载源码">下载源码</h2> | 124 | <h2 id="下载源码">下载源码</h2> |
471 | <p>vim 源码可以通过其<a href="https://github.com/vim/vim">GitHub 仓库</a>下载,也可以在其<a | 125 | <p>vim 源码可以通过其<a href="https://github.com/vim/vim">GitHub 仓库</a>下载,也可以在其<a |
472 | href="https://www.vim.org/download.php">官网</a>下载。我选择了前者。</p> | 126 | href="https://www.vim.org/download.php">官网</a>下载。我选择了前者。</p> |
473 | <pre><code>git clone https://github.com/vim/vim | 127 | <pre><code class="language-bash">git clone https://github.com/vim/vim |
474 | 128 | ||
475 | # 后续处理过程都在源码目录下的src目录内进行,因而切换过去 | 129 | # 后续处理过程都在源码目录下的src目录内进行,因而切换过去 |
476 | cd vim/src | 130 | cd vim/src |
@@ -482,7 +136,7 @@ sudo make distclean</code></pre> | |||
482 | <p>vim | 136 | <p>vim |
483 | 的编译过程中,需要先运行<code>configure</code>脚本,该脚本会检查当前系统的环境,并以参数形式接收你需要哪些功能。可以通过<code>./configure --help</code>查看所有可选参数及其功能说明。我选择的参数如下: | 137 | 的编译过程中,需要先运行<code>configure</code>脚本,该脚本会检查当前系统的环境,并以参数形式接收你需要哪些功能。可以通过<code>./configure --help</code>查看所有可选参数及其功能说明。我选择的参数如下: |
484 | </p> | 138 | </p> |
485 | <pre><code>sudo ./configure\ | 139 | <pre><code class="language-bash">sudo ./configure\ |
486 | --with-features=huge \ | 140 | --with-features=huge \ |
487 | --enable-multibyte \ | 141 | --enable-multibyte \ |
488 | --enable-rubyinterp=dynamic \ | 142 | --enable-rubyinterp=dynamic \ |
@@ -522,7 +176,7 @@ sudo make distclean</code></pre> | |||
522 | </p> | 176 | </p> |
523 | <h3 id="编译安装">编译安装</h3> | 177 | <h3 id="编译安装">编译安装</h3> |
524 | <p>编译安装过程简单到无以复加,就几句话的事。</p> | 178 | <p>编译安装过程简单到无以复加,就几句话的事。</p> |
525 | <pre><code># 编译 | 179 | <pre><code class="language-bash"># 编译 |
526 | sudo make | 180 | sudo make |
527 | # 安装 | 181 | # 安装 |
528 | sudo make install</code></pre> | 182 | sudo make install</code></pre> |
@@ -537,7 +191,7 @@ sudo make install</code></pre> | |||
537 | 的配置文件放置在<code>/etc/vim</code>下,这样不论是普通用户还是 root | 191 | 的配置文件放置在<code>/etc/vim</code>下,这样不论是普通用户还是 root |
538 | 用户,都会使用这份文件,保证观感一致。另外,由于该文件位置较远,我选择在<code>~/useful</code>下创建软链接,方便使用。</p> | 192 | 用户,都会使用这份文件,保证观感一致。另外,由于该文件位置较远,我选择在<code>~/useful</code>下创建软链接,方便使用。</p> |
539 | <p>除此之外,出于同样的目的(保证当前用户与 root 用户观感一致),建议将插件也指定一个专门的绝对路径。我放在了<code>/home/player/useful/bundle</code>。</p> | 193 | <p>除此之外,出于同样的目的(保证当前用户与 root 用户观感一致),建议将插件也指定一个专门的绝对路径。我放在了<code>/home/player/useful/bundle</code>。</p> |
540 | <pre><code># 创建软链接 | 194 | <pre><code class="language-bash"># 创建软链接 |
541 | # 我习惯把有用的文件放在~/useful下 | 195 | # 我习惯把有用的文件放在~/useful下 |
542 | mkdir useful | 196 | mkdir useful |
543 | cd useful | 197 | cd useful |
@@ -551,20 +205,17 @@ mkdir bundle</code></pre> | |||
551 | <p>这里原本记录着我的旧版 vim 配置,但随着<a href="https://www.qin-juan-ge-zhu.top/code/linux/httpmyserver.html">http | 205 | <p>这里原本记录着我的旧版 vim 配置,但随着<a href="https://www.qin-juan-ge-zhu.top/code/linux/httpmyserver.html">http |
552 | 浏览服务器文件</a>的完成,再保留旧版然后每隔三四个月更新一次,对于我这种没事就折腾的人来说说,就显得不那么必要了。因此,这里只简单说一下。</p> | 206 | 浏览服务器文件</a>的完成,再保留旧版然后每隔三四个月更新一次,对于我这种没事就折腾的人来说说,就显得不那么必要了。因此,这里只简单说一下。</p> |
553 | <p>配置的整体结构如下:</p> | 207 | <p>配置的整体结构如下:</p> |
554 | <pre><code>/etc/vim | 208 | <pre><code class="language-plaintext">/etc/vim |
555 | ├── vimrc # vim配置文件,负责引入不同的配置模块 | 209 | ├── vimrc # vim配置文件,负责引入不同的配置模块 |
556 | ├── vimrc_origin # 原有配置脚本备份 | 210 | └── vimrcs # 我的配置文件夹,里边是不同的配置模块 |
557 | ├── vimrcs # 我的配置文件夹,里边是不同的配置模块 | 211 | ├── autocmd.vim |
558 | │ ├── autocmd.vim | 212 | ├── codecmd.vim |
559 | │ ├── codecmd.vim | 213 | ├── keybind.vim |
560 | │ ├── keybind.vim | 214 | ├── match.vim |
561 | │ ├── match.vim | 215 | ├── myset.vim |
562 | │ ├── myset.vim | 216 | ├── plugs.vim |
563 | │ ├── plugs.vim | 217 | └── statusline.vim</code></pre> |
564 | │ └── statusline.vim | 218 | <p>我直接把我服务器上的配置文件<a href="https://git.qin-juan-ge-zhu.top/vimrc">放在这里</a>,以供查看。</p> |
565 | ├── vimrc.tiny # 原有脚本,无用 | ||
566 | └── vimscript.vim # 原有脚本,无用</code></pre> | ||
567 | <p>我直接把我服务器上的配置文件<a href="https://file.qin-juan-ge-zhu.top/useful/vim/">放在这里</a>,以供查看。</p> | ||
568 | <p class="time">2023.7.5<br>2023.9.6<br>2024.1.3</p> | 219 | <p class="time">2023.7.5<br>2023.9.6<br>2024.1.3</p> |
569 | <script src="https://www.qin-juan-ge-zhu.top/common/js/comment.js"></script> | 220 | <script src="https://www.qin-juan-ge-zhu.top/common/js/comment.js"></script> |
570 | </div> | 221 | </div> |