106.07.26 vim 前置數字v:count使用

同樣是我在寫 aben20807/my_vim/.surround.vim 遇到的
就是前置數字
功能就是
用前置數字來代表要括幾個單字
無前置就是游標所在的單字
然後就查到 v:count

所以~map就可以這樣寫
nnoremap <silent> <Plug>SurroundNadd :<C-u>execute 'call '
    \v:count? '<SID>surroundNadd(v:count)' : '<SID>surroundNadd(1)'<CR>
nmap <M-s> <Plug>SurroundNadd


106.07.26 win10 caps lock換成esc

老實說我沒有很常用到 caps lock
或者說幾乎不用
一般大寫只需要 shift 按住就好
caps lock 反而會造成誤按
然後近期又幾乎使用 vim 所以就來找個方法把 caps lock換成esc
<注意>修改機碼會有未預期錯誤請謹慎使用
<注意>不是 caps lock、esc 交換,而是 caps lock、esc 都變成 esc
要交換還是理解更詳細原理請去這裡(超詳細解說


首先將下面那段存成 capslock2esc.reg (注意副檔名
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,01,00,3a,00,00,00,00,00

106.07.23 vim feedkeys 踩雷記錄

feedkeys 實在是....QuQ
雖然還是沒解法不過記錄一下
以後盡全力避免使用

主要原因就是:執行順序不保證!!!!

原本打算寫一個自己用的 surround
功能就是可以加入 ()、[]、{}、''、"" 、<> 而且要包在外面
由於有使用 v:count 所以可以用前置數字來代表要括幾個單字
無前置就是游標所在的單字

簡單範例:(灰色方塊是游標
//TODO OuO FIXME OuO XXX OuO 123
按下 3<ctrl-a>"
會變成
//TODO "OuO FIXME OuO" XXX OuO 123

106.07.19 cygwin+vim+rust

總之就是 vim 當編輯器
Cygwin 當編譯、執行環境
那 Rust 也是剛看到,有點興趣OuO
https://www.rust-lang.org/en-US/install.html


106.07.19 rust error: linking with `link.exe` failed: exit code: 1

錯誤訊息:

error: linking with `link.exe` failed: exit code: 1
  |
  = note: "link.exe" "/NOLOGO" "/NXCOMPAT" "/LIBPATH:C:\\Users\\user\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib" "hello.0.o" "/OUT:hello.exe" "/OPT:REF,NOICF" "/DEBUG" "/LIBPATH:C:\\Users\\user\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib" "C:\\Users\\user\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libstd-0a78323911070f99.rlib" "C:\\Users\\user\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\librand-c279a51d66700350.rlib" "C:\\Users\\user\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libcollections-d7bf31a4ca1ea637.rlib" "C:\\Users\\user\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libstd_unicode-d367c3ba0db49600.rlib" "C:\\Users\\user\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libpanic_unwind-2d4bf02140c11dcb.rlib" "C:\\Users\\user\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libunwind-add7a84d7e82d084.rlib" "C:\\Users\\user\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\liblibc-84688accbc86d6b7.rlib" "C:\\Users\\user\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\liballoc-fe2e68b21f0bdd7a.rlib" "C:\\Users\\user\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\liballoc_system-7fc0381594c93f56.rlib" "C:\\Users\\user\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libcore-ea9d77e7c23fe65c.rlib" "C:\\Users\\user\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libcompiler_builtins-91b619d34dd1f5aa.rlib" "advapi32.lib" "ws2_32.lib" "userenv.lib" "shell32.lib" "msvcrt.lib"
  = note: /usr/bin/link: 出現多餘的參數 ‘/LIBPATH:C:\\Users\\user\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib’
          Try '/usr/bin/link --help' for more information.


error: aborting due to previous error

106.07.19 vim map alt(meta) key

由於Cygwin無法自定義按鍵編碼
所以算是測試頗久的

這樣map就能在normal模式下加速,insert模式下也能用hjkl移動了


106.07.19 cygwin ranger bulkrename

ranger是一個檔案管理工具
從哪裡看到的嘞?
這裡How vim Makes my Daily Life Easier
裡面的人用這個來同時更改多個檔案名
而且根本就是跟vim,主要按鍵都一樣呢

106.07.18 vim相關作git管理

我原本是用頗笨的方法
新增一個 my_vim 的資料夾來當遠端
vim 相關的東西一有變動就複製然後覆蓋資料夾內的檔案
然後因為有大量檔案,所以每次都超久
有點煩=''=
就發現 symbolic links 這個東西
總之就是類似捷徑的東西,詳情可以來 wiki - Symbolic link 看看
結果會如下

106.07.18 .vimrc分檔

由於我的.vimrc實在太肥大了OuO
所以想說要分個檔
目前大概像這樣

106.07.04 vim 總整理 (持續更新)

覺得玩太久啦
該停戰了QuQ
所以就來做個總整理來記錄我到底多了那些功能,以防忘記QuQ
附上總連結 aben20807/my_vim ( .vimrc.bundle裡的插件要自己 :PluginInstall

本日最猛功能:多行同時註解
n、i、v(line)模式
<ctrl-l>:註解
<ctrl-k>:取消註解


106.07.16 vim cursorline設定

主要是一些小設定

zz可以讓目前行移到螢幕中間
此對程式碼是在進入檔案時將上次離開的位置移到中間 (預設似乎是在最下方
autocmd VimEnter * :exec "normal! \zz"

106.07.16 vim airline warning section highlight

主要是右邊兩塊
然後我就跟theme一樣一邊參考別人的一邊再重做一個

106.07.16 vim ale highlight、work with airline

ALE (全名Asynchronous Lint Engine)真的是好東西啊OuO

106.07.13 Cygwin glass transparency

換win10之後發現Cygwin的玻璃透明度不能用
會變成整個視窗都白色

而網路上資料又少,所以頗難解決
突然發現使用.minttyrc可以解決就來記錄個

106.07.07 cygwin vim airline symbols

Cygwin vim airline 符號顯示
最終成果:(實心三角形是我又新加入的字元所以正常中間有圈圈)


106.07.05 使用python3執行PyOpenGL

恩....高中同學最近自學python
想使用python3執行 PyOpenGL
卻一直吐錯誤訊息

錯誤訊息:
Traceback (most recent call last):
File "D:\cygwin\home\user\pro\test\pyOpenGLWindow.py", line 46, in <module>
window = OpenGLWindow()
File "D:\cygwin\home\user\pro\test\pyOpenGLWindow.py", line 17, in __init__
glutInit(sys.argv)
File "C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-packages\OpenGL\GLUT\special.py", line 333, in glutInit
_base_glutInit( ctypes.byref(count), holder )
File "C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-packages\OpenGL\platform\baseplatform.py", line 407, in __call__
self.__name__, self.__name__,
OpenGL.error.NullFunctionError: Attempt to call an undefined function glutInit, check for bool(glutInit) before calling

106.07.05 pylint warning [missing-docstring] Missing module docstring

解決warning
使用pylint之後有一個warning找頗久的就來記錄個

106.07.05 pylint warning [invalid-name] Invalid constant name

解決warning

106.07.05 VLC播放器rst字幕亂碼

通常影片跟對應的字幕檔放在同一目錄下VLC就會自行偵測
不過今天第一次弄是亂碼我還以為不行

結果只是編碼跟字體問題

106.07.05 vim 使用Syntastic語法檢查

看到pylint
又知道vim一定可以用,就不小心查了一下QuQ
然後發現Syntastic這個語法檢查插件

就來安裝了
展示如下

106.07.01 vim 多行註解與取消

恩....好像玩vim玩太兇了....OAO

原本想找看看能不能解決不能用 ctrl + / 來 map 的問題
然後就找到這個註解方式
算是利用多行同時編寫的功能吧

106.07.01 vim 行號、對齊符號顯示切換

行號、對齊符號對於debug時非常方便
但是用滑鼠複製時如果有行號或對齊符號又會有干擾
所以就找到可以使用快捷鍵來切換OuO



106.07.01 vim 括號自動配對

大括號 {} 的示範如下


^ Top