web-dev-qa-db-ja.com

L9 vimプラグインとは何ですか?

私は最近、Vim用のこの奇妙なプラグインにぶつかり、その使用法を理解できませんでした。

それはほとんど文書化されておらず、nobdyは実際にそれについて話しますが、他のいくつかのプラグインにとっては重要なようです。

私が見つけたのはここだけです:

http://www.vim.org/scripts/script.php?script_id=3252

そして

https://github.com/eparreno/vim-l9

しかし、彼らは「それはライブラリです」と「ソースコードを参照してください」と言うだけです。

このlibが何のためにあるのか、どのような目的で使用する必要があるのか​​、または他のプラグインで依存関係が満たされないまで削除できるのか、誰でも知っていますか?

14
deb0ch

最近Vundleから、いくつかの場所で L9 への参照に気づきました。確かに、最初は文書化されていません。しかし、メインのソースファイルにはまともな解説があります。autoload/l9.vim。これは、汎用ユーティリティ関数のセットです。これがそのAPIの大部分であり、リスト、数値、文字列、行、パス、ファイル、バッファー、ウィンドウ、検索などのVimの処理を強化しています。

" returns false if the caller script should finish.
" a:vimVersion: if 0, don't check vim version
" a:l9Version: same rule as v:version
function l9#guardScriptLoading(path, vimVersion, l9Version, exprs)

" Removes duplicates (unstable)
" This function doesn't change the list of argument.
function l9#unique(items)

" [ [0], [1,2], [3] ] -> [ 0, 1, 2, 3 ]
" This function doesn't change the list of argument.
function l9#concat(items)

" [ [0,1,2], [3,4], [5,6,7,8] ] -> [ [0,3,5],[1,4,6] ]
" This function doesn't change the list of argument.
function l9#Zip(items)

" filter() with the maximum number of items
" This function doesn't change the list of argument.
function l9#filterWithLimit(items, expr, limit)

" Removes if a:expr is evaluated as non-zero and returns removed items.
" This function change the list of argument.
function l9#removeIf(items, expr)

" Snips a:str and add a:mask if the length of a:str is more than a:len
function l9#snipHead(str, len, mask)

" Snips a:str and add a:mask if the length of a:str is more than a:len
function l9#snipTail(str, len, mask)

" Snips a:str and add a:mask if the length of a:str is more than a:len
function l9#snipMid(str, len, mask)

" wildcard -> regexp
function l9#convertWildcardToRegexp(expr)

" Removes from the line matching with a:begin first to the line matching with
" a:end next and returns removed lines.
" If matching range is not found, returns []
function l9#removeLinesBetween(lines, begin, end)

" returns the path separator charactor.
function l9#getPathSeparator()

" [ 'a', 'b/', '/c' ] -> 'a/b/c'
function l9#concatPaths(paths)

" path: '/a/b/c/d', dir: '/a/b' => 'c/d'
function l9#modifyPathRelativeToDir(path, dir)

" Almost same as readfile().
function l9#readFile(...)

" Almost same as writefile().
function l9#writeFile(...)

" :wall/:wall! wrapper. Useful for writing readonly buffers.
function l9#writeAll()

" Loads given files with :edit command
function l9#loadFilesToBuffers(files)

" Deletes all buffers except given files with :bdelete command
function l9#deleteAllBuffersExcept(files)

" move current window to next tabpage.
function l9#shiftWinNextTabpage()

" move current window to previous tabpage.
function l9#shiftWinPrevTabpage()

" move to a window containing specified buffer.
" returns 0 if the buffer is not found.
function l9#moveToBufferWindowInCurrentTabpage(bufNr)

" returns 0 if the buffer is not found.
function s:moveToOtherTabpageOpeningBuffer(bufNr)

" move to a window containing specified buffer.
" returns 0 if the buffer is not found.
function l9#moveToBufferWindowInOtherTabpage(bufNr)

" echo/echomsg with highlighting.
function l9#echoHl(hl, msg, prefix, addingHistory)

" input() with highlighting.
" This function can take list as {completion} argument.
function l9#inputHl(hl, ...)

" only called by l9#inputHl() for completion.
function l9#completeForInputHl(lead, line, pos)

" returns last selected text in Visual mode.
function l9#getSelectedText()

" loads given text as Vim script with :source command
function l9#loadScript(text)

" Execute :vimgrep and opens the quickfix window if matches are found.
"
" a:pattern: search pattern. If ommitted, last search pattern (@/) is used.
" a:files: List of files
function l9#grepFiles(pattern, files)

" Execute :vimgrep for buffers using l9#grepFiles()
" See also: :L9GrepBuffer :L9GrepBufferAll
function l9#grepBuffers(pattern, bufNrs)

" Highlights lines using :sign define and :sign place.
" a:linehl, a:text, a:texthl: See |signs|. Ignored if empty string.
" a:locations: List of [{buffer number}, {line number}] for highlighting
function l9#placeSign(linehl, text, texthl, locations)

" Notify a message using an external program.
" Currently supports Balloonly, Screen, and Tmux.
function l9#notifyExternally(msg)
14
Micah Elliott