Vim Magazine 2017 年 11 月号
Posted on 2017-11-30話題
- VimConf 2017 が 11/04 (土) に開催されました
- Fablic.vim #4 が 12/04 (月) に東京で開催予定です
- Meguro.vim #7 が 12/16 (土) に東京で開催予定です
- Yokohama.vim #10 が 12/10 (日) に神奈川で開催予定です
今月の新機能
今月の新機能及びユーザーに影響のある変更は以下のとおりです。
- 8.0.1278: GUI ウィンドウのスクロールバー表示時にウィンドウのサイズを保持する
'guioptions'
オプションのk
フラグが追加されました- これによりスクロールバーが表示される時に GUI のウィンドウの最大化状態を解除されてしまう問題が修正されました
- 8.0.1279: メニューの初期化処理が高速化され、起動時間が速くなりました
- 8.0.1280: if_python における
None
が Vim script のv:none
に変換されるようになりました - 8.0.1281: Vim script で実行されるファイルタイプの検知処理が高速化され、起動時間が速くなりました (関連パッチ: 8.0.1282, 8.0.1284)
- 8.0.1287: ウィンドウローカルのディレクトリを保持する
'viewoptions'
オプションのcurdir
が追加されました - 8.0.1295: UNIX 系の端末版 Vim でも
v:servername
が常に生成される--enable-autoservername
オプションが configure スクリプトに追加されました (関連パッチ: 8.0.1297) - 8.0.1299: Bracketed paste mode が端末ウィンドウで動くようになりました
- 8.0.1305:
writefile()
の第3引数のフラグにfsync(2)
を実行するか否かのフラグs
,S
が追加されました (関連パッチ: 8.0.1335)s
が指定された場合は実行し、S
が指定された場合は実行せず、どちらも指定されなかった場合は'fsync'
オプションに従います- 今までは常に
fsync(2)
を実行していませんでした
- 8.0.1309:
'balloonevalterm'
オプションが追加され、Unix 系の GUI 環境から起動された端末版 Vim でも ballooneval 機能が使用できるようになりました (関連パッチ: 8.0.1323, 8.0.1324) - 8.0.1318:
balloon_split()
関数が追加され、balloon_show()
関数が端末版 Vim では List を受け付けるようになりました (関連パッチ: 8.0.1346) - 8.0.1330: Vim の端末機能から実行されたジョブ内で Windows の場合も
VIM_SERVERNAME
環境変数が定義されるようになりました - 8.0.1332:
qfSeparator
ハイライトグループが追加されました - 8.0.1336: xim 機能付きでコンパイル済みでなくとも
'imactivatefunc'
オプションが使えるようになりました (関連パッチ: 8.0.1338) - 8.0.1343: Windows で色付き絵文字を表示できるようになりました
Vimに関する脆弱性
-
スワップファイルのパーミッションを問題とする脆弱性 CVE-2017-1000382 (JVNDB-2017-009929) が指摘されました。
基本的にはWebサーバーなどの設定および使い方の問題であると考えられています。 しかしスワップファイルが編集中のファイルと同じディレクトリに作られるのを 避けたいのであれば、
'dir'
オプションで別のディレクトリに作るように 設定すると良いでしょう。設定例:silent! call mkdir($HOME . '/.vim/swap', 'p', 0700) set directory=~/.vim/swap//
-
その他、軽微な脆弱性が 8.0.1345 までで 3点修正されています。 参考資料
リリース情報
- 8.0.1241 : popup test is flaky
- 8.0.1242 : function argument with only dash is seen as number zero
- 8.0.1243 : no test for what 8.0.1227 fixes
- 8.0.1244 : search test does not work correctly on MS-Windows
- 8.0.1245 : when WaitFor() has a wrong expression it just waits a second
- 8.0.1246 : popup test has an arbitrary delay
- 8.0.1247 : not easy to find Debian build info
- 8.0.1248 : stray + in README file
- 8.0.1249 : no error when WaitFor() gets an invalid wrong expression
- 8.0.1250 : ‘hlsearch’ highlighting not removed after incsearch
- 8.0.1251 : invalid expressin passed to WaitFor()
- 8.0.1252 : incomplete translations makefile for MinGW/Cygwin
- 8.0.1253 : still too many old style tests
- 8.0.1254 : undefined left shift in gethexchrs()
- 8.0.1255 : duplicate badge README file
- 8.0.1256 : typo in configure variable vim_cv_tgent
- 8.0.1257 : no test for fix of undefined behavior
- 8.0.1258 : ‘ttymouse’ is set to “sgr” even though it’s not supported
- 8.0.1259 : search test can be flaky
- 8.0.1260 : using global variables for WaitFor()
- 8.0.1261 : program in terminal window gets NL instead of CR
- 8.0.1262 : terminal redir test is flaky
- 8.0.1263 : others can read the swap file if a user is careless
- 8.0.1264 : terminal debugger gets stuck in small window
- 8.0.1265 : swap test not skipped when there is one group
- 8.0.1266 : Test_swap_directory was commented out
- 8.0.1267 : Test_swap_group may leave file behind
- 8.0.1268 : PC install instructions are incomplete
- 8.0.1269 : effect of autocommands on marks is not tested
- 8.0.1270 : mismatching file name with Filelist
- 8.0.1271 : still too many old style tests
- 8.0.1272 : warnings for unused variables in tiny build
- 8.0.1273 : old test file remaining
- 8.0.1274 : setbufline() fails when using folding
- 8.0.1275 : CmdlineLeave autocmd prevents fold from opening
- 8.0.1276 : key lost when window closed in exit callback
- 8.0.1277 : terminal window CR-NL conversions may cause problems
- 8.0.1278 : GUI window always resizes when adding scrollbar
- 8.0.1279 : initializing menus can be slow
- 8.0.1280 : Python None cannot be converted to a Vim type
- 8.0.1281 : loading file type detection slows down startup
- 8.0.1282 : script-local variable defined in the wrong script
- 8.0.1283 : test 86 fails under ASAN
- 8.0.1284 : loading file type detection slows down startup
- 8.0.1285 : distributed autoload files may clash with user files
- 8.0.1286 : occasional crash when using a channel
- 8.0.1287 : temp file used for viminfo may have wrong permissions
- 8.0.1288 : GUI: cannot drag the statusline of a terminal window
- 8.0.1289 : mkview always includes the local directory
- 8.0.1290 : seq_cur of undotree() wrong after undo
- 8.0.1291 : C indent wrong when * immediately follows comment
- 8.0.1292 : quick clicks in the WinBar start Visual mode
- 8.0.1293 : setting a breakpoint in the terminal debugger sometimes fails
- 8.0.1294 : GUI: get stuck when splitting a terminal window
- 8.0.1295 : cannot automatically get a server name in a terminal
- 8.0.1296 : checking the same condition twice
- 8.0.1297 : +autoservername does not show enabled on MS-Windows
- 8.0.1298 : missing test file
- 8.0.1299 : bracketed paste does not work well in terminal window
- 8.0.1300 : file permissions may end up wrong when writing
- 8.0.1301 : generated license file for NSIS has a modeline
- 8.0.1302 : still too many old style tests
- 8.0.1303 : ‘ttymouse’ is not set to “sgr” for Terminal.app and Iterm2
- 8.0.1304 : CTRL-G/CTRL-T don’t work with incsearch and empty pattern
- 8.0.1305 : writefile() never calls fsync()
- 8.0.1306 : ASAN error stack trace is not useful
- 8.0.1307 : compiler warning for ignoring return value
- 8.0.1308 : the “Reading from stdin” message may be undesired
- 8.0.1309 : cannot use ‘balloonexpr’ in a terminal
- 8.0.1310 : cproto generates errors because of missing type
- 8.0.1311 : no test for strpart()
- 8.0.1312 : balloon_show() only works in terminal when compiled with GUI
- 8.0.1313 : missing dependencies cause parallel make to fail
- 8.0.1314 : build fails on Mac
- 8.0.1315 : build still fails on Mac
- 8.0.1316 : build still still fails on Mac
- 8.0.1317 : accessing freed memory in term_wait()
- 8.0.1318 : terminal balloon only shows one line
- 8.0.1319 : can’t build GUI on MS-Windows
- 8.0.1320 : popup test fails on GUI-only build
- 8.0.1321 : can’t build huge version with Athena
- 8.0.1322 : textformat test isn’t run
- 8.0.1323 : mouse events in a terminal window may cause endless loop
- 8.0.1324 : some xterm sends different mouse move codes
- 8.0.1325 : more tests are not run
- 8.0.1326 : largefile test fails on CI, glob test on MS-Windows
- 8.0.1327 : new proto file missing from distribution
- 8.0.1328 : trouble when using “:term ++close” with autocmd
- 8.0.1329 : when a flaky test fails it also often fails the second time
- 8.0.1330 : MS-Windows: job in terminal can’t get back to Vim
- 8.0.1331 : possible crash when window can be zero lines high
- 8.0.1332 : highlighting in quickfix window could be better
- 8.0.1333 : some tests are run twice
- 8.0.1334 : splitting a window with a WinBar damages window layout
- 8.0.1335 : writefile() using fsync() may give an error.
- 8.0.1336 : cannot use imactivatefunc() unless compiled with +xim
- 8.0.1337 : typo in #ifdef
- 8.0.1338 : USE_IM_CONTROL is confusing and incomplete
- 8.0.1339 : no test for what 8.0.1335 fixes
- 8.0.1340 : MS-Windows: cannot build GUI without IME
- 8.0.1341 : ‘imactivatefunc’ test fails on MS-Windows
- 8.0.1342 : cannot build with Motif and multi-byte
- 8.0.1343 : MS-Windows: does not show colored emojis
- 8.0.1344 : using ‘imactivatefunc’ in the GUI does not work
- 8.0.1345 : race condition between stat() and open() for viminfo
- 8.0.1346 : crash when passing 50 char string to balloon_split()
- 8.0.1347 : MS-Windows: build broken by misplaced curly
- 8.0.1348 : make testclean deletes script file on MS-Windows
- 8.0.1349 : options test fails when using Motif or GTK GUI
- 8.0.1350 : cannot build with +eval and -multi_byte
- 8.0.1351 : warning for unused variables building with MinGW
- 8.0.1352 : dead URLs in the help go unnoticed
- 8.0.1353 : QuickFixCmdPost is not used consistently
- 8.0.1354 : Shift-Insert doesn’t always work in MS-Windows console
- 8.0.1355 : cursor keys don’t work in MS-Windows console
- 8.0.1356 : using simalt in a GUIEnter autocommand inserts characters
- 8.0.1357 : startup test fails on OpenBSD
- 8.0.1358 : undercurl is not used in the terminal
- 8.0.1359 : libvterm ANSI colors can not always be recognized
新着スクリプト
- files-complete : completefunc which looks to all files in the current directory
- AutoSave : Automatically persist a buffer frequently.
- SearchAsQuickJump : Quick search without affecting ‘hlsearch’, search pattern and history.
- mkdx.vim : Adds useful mappings for working with markdown files
- vim-lessmess : Removes trailing white-space, fix mixed-indent and remove empty lines at the EOF
月間ダウンロードランキング
- taglist.vim : Source code browser (supports C/C++, java, perl, python, tcl, sql, php, etc) (1258)
- wombat256.vim : Wombat for 256 color xterms (1068)
- The NERD tree : A tree explorer plugin for navigating the filesystem (895)
- AutomaticLaTeXPlugin : Background compilation, completion, bib serch, toc and other nice features. (620)
- nginx.vim : initial version (458)
- molokai : A port of the monokai scheme for TextMate (429)
- AutoComplPop : Automatically opens popup menu for completions (391)
- OmniCppComplete : C/C++ omni-completion with ctags database (381)
- python.vim : Enhanced version of the python syntax highlighting script (379)
- c.vim : C/C++ IDE – Write and run programs. Insert statements, idioms, comments etc. (347)
vim-jp issues
Open : 254 (-4) | Closed : 871 (+18) |
- Issue #1112 : 検索コマンドラインが空の状態での Ctrl-G/T の挙動があやしい
- Issue #1113 : undotree() の返すツリー上の現在位置がおかしい場合がある
- Issue #1114 : macvimの:terminalでファイル名の濁点の位置がおかしい
- Issue #1115 : 位置表現に offset を指定できるようにしたい
- Issue #1116 : 端末機能に対する要望
- Issue #1117 : 端末機能で起動したzshにクリップボードから貼り付けると~が入ったり最後の文字が大文字になったりする
- Issue #1118 : XIM/IME が使えない場合でも iminsert=2 は設定できるべき。
- Issue #1119 : Windows の :terminal で環境変数 VIM_SERVERNAME が設定されない。
- Issue #1120 : autoload ファイルを手動で source するとautoload関数定義時に2重で追加のsourceが発生する
- Issue #1121 : writefile([…], ‘/dev/stderr) すると E667: Fsync failed の例外が飛ぶ
- Issue #1122 : WindowsのVimにおいて、DLL関数の呼び出し規約はどうなっているのか
- Issue #1123 : vim.exe で Shift-Insert でペーストできない
- Issue #1124 : プロファイルログに invalid byte sequence が含まれることがある
- Issue #1125 : ch_readraw と NL モードの問題提起
もどる