diff --git a/README.md b/README.md index 5642f5d..164d5fe 100644 --- a/README.md +++ b/README.md @@ -48,18 +48,16 @@ This plugin does not provide or override any default key-mappings. To use this plugin, you need to assign the plugin key-mapping to the key you like, as shown below: ```vim -nmap (dial-increment) -nmap (dial-decrement) -nmap g g(dial-increment) -nmap g g(dial-decrement) -vmap (dial-increment) -vmap (dial-decrement) -vmap g g(dial-increment) -vmap g g(dial-decrement) +nnoremap (dial-increment) +nnoremap (dial-decrement) +nnoremap g (dial-g-increment) +nnoremap g (dial-g-decrement) +xnoremap (dial-increment) +xnoremap (dial-decrement) +xnoremap g (dial-g-increment) +xnoremap g (dial-g-decrement) ``` -Note: When you use "g(dial-increment)" or "g(dial-decrement)" on the right side, `remap` option must be enabled. - Or you can configure it with Lua as follows: ```lua diff --git a/README_ja.md b/README_ja.md index 9380923..1974374 100644 --- a/README_ja.md +++ b/README_ja.md @@ -61,8 +61,6 @@ vmap g g(dial-increment) vmap g g(dial-decrement) ``` -注意: `g(dial-increment)` や `g(dial-decrement)` を右辺で用いる場合は remap を有効にする必要があります。 - または Lua 上で以下のように設定することもできます。 ```lua diff --git a/doc/dial.jax b/doc/dial.jax index 5746187..5f94054 100644 --- a/doc/dial.jax +++ b/doc/dial.jax @@ -95,14 +95,14 @@ USAGE *dial-usage* |dial.nvim|自身はキーマップの設定および上書きを行わないため、プラグインを動作 させるために以下の設定を追加する必要があります。 > - nmap (dial-increment) - nmap (dial-decrement) - nmap g g(dial-increment) - nmap g g(dial-decrement) - vmap (dial-increment) - vmap (dial-decrement) - vmap g g(dial-increment) - vmap g g(dial-decrement) + nnoremap (dial-increment) + nnoremap (dial-decrement) + nnoremap g (dial-g-increment) + nnoremap g (dial-g-decrement) + xnoremap (dial-increment) + xnoremap (dial-decrement) + xnoremap g (dial-g-increment) + xnoremap g (dial-g-decrement) < もしくは Lua 上で以下のように設定することもできます。 @@ -1381,13 +1381,13 @@ ADDITIVE DOT REPEATING *dial-additive-dot-repeating* Vim の便利な機能の1つに、VISUAL モードにおける g があります (|v_g_CTRL-A| 参照)。これは加数を行ごとに1ずつ増やすことができる機能であり、 番号付きの箇条書きなどを生成する際に重宝します。もちろん |dial.nvim| でも同等 -の機能を備えています (|v_g(dial-increment)|)。この機能は便利ながら、増加 +の機能を備えています (|v_(dial-g-increment)|)。この機能は便利ながら、増加 対象が離れた場所にあると使いづらいという制限がありました。 これを解決するため、|dial.nvim| ではノーマルモードの g に相当する機能を提 供しています。これを有効にするには、以下の設定を書いておく必要があります: > - nmap g g(dial-increment) - nmap g g(dial-decrement) + nmap g (dial-g-increment) + nmap g (dial-g-decrement) < もしくは Lua 上で以下のように設定することもできます。 > @@ -1475,7 +1475,7 @@ MAPPING *dial-mapping* {VISUAL}["x](dial-decrement) *v_(dial-decrement)* VISUAL モードにおける CTRL-X に相当する機能を提供します。 -{VISUAL}["x]g(dial-increment) *v_g(dial-increment)* +{VISUAL}["x](dial-g-increment) *v_(dial-g-increment)* VISUAL モードにおける |v_g_CTRL-A| に相当する機能を提供します。 使用方法は|v_(dial-increment)| と似ているものの、上から数えてn行目に @@ -1497,14 +1497,14 @@ MAPPING *dial-mapping* < のように、1週間ごとの日付が得られます(日付の被加数が有効のときに限る)。 -{VISUAL}["x]g(dial-decrement) *v_g(dial-decrement)* +{VISUAL}["x](dial-g-decrement) *v_(dial-g-decrement)* VISUAL モードにおける |v_g_CTRL-X| に相当する機能を提供します。 -["x]g(dial-increment) *g(dial-increment)* +["x](dial-g-increment) *(dial-g-increment)* 基本的に |(dial-increment)| と同じですが、ドットリピートを実行したと きの挙動が異なります。 |dial-additive-dot-repeating| 参照。 -["x]g(dial-decrement) *g(dial-decrement)* +["x](dial-g-decrement) *(dial-g-decrement)* 基本的に |(dial-decrement)| と同じですが、ドットリピートを実行したと きの挙動が異なります。 |dial-additive-dot-repeating| 参照。 diff --git a/doc/dial.txt b/doc/dial.txt index 0aa2e32..c3f31e9 100644 --- a/doc/dial.txt +++ b/doc/dial.txt @@ -98,14 +98,14 @@ Since this plugin does not replace the default key-mapping, you need to add the following description to the configuration file after installing the plugin. > - nmap (dial-increment) - nmap (dial-decrement) - nmap g g(dial-increment) - nmap g g(dial-decrement) - vmap (dial-increment) - vmap (dial-decrement) - vmap g g(dial-increment) - vmap g g(dial-decrement) + nnoremap (dial-increment) + nnoremap (dial-decrement) + nnoremap g (dial-g-increment) + nnoremap g (dial-g-decrement) + xnoremap (dial-increment) + xnoremap (dial-decrement) + xnoremap g (dial-g-increment) + xnoremap g (dial-g-decrement) < Alternatively, you can configure with Lua as follows: @@ -122,16 +122,16 @@ Alternatively, you can configure with Lua as follows: vim.keymap.set("n", "g", function() require("dial.map").manipulate("decrement", "gnormal") end) - vim.keymap.set("v", "", function() + vim.keymap.set("x", "", function() require("dial.map").manipulate("increment", "visual") end) - vim.keymap.set("v", "", function() + vim.keymap.set("x", "", function() require("dial.map").manipulate("decrement", "visual") end) - vim.keymap.set("v", "g", function() + vim.keymap.set("x", "g", function() require("dial.map").manipulate("increment", "gvisual") end) - vim.keymap.set("v", "g", function() + vim.keymap.set("x", "g", function() require("dial.map").manipulate("decrement", "gvisual") end) < @@ -1434,14 +1434,14 @@ ADDITIVE DOT REPEATING *dial-additive-dot-repeating* One convenient feature of Vim is g in VISUAL mode (see |v_g_CTRL-A|). This allows you to increase the addend by one per line, which is useful for generating numbered list, etc. Of course, |dial.nvim| provides the same -functionality (|v_g(dial-increment)|). However, this feature had the +functionality (|v_(dial-g-increment)|). However, this feature had the limitation that it was difficult to use when the increase targets were located far away. To solve this, |dial.nvim| provides the equivalent of g in normal mode. To enable it, the following configuration must be written: . > - nmap g g(dial-increment) - nmap g g(dial-decrement) + nmap g (dial-g-increment) + nmap g (dial-g-decrement) Alternatively, you can configure with Lua as follows: > @@ -1533,7 +1533,7 @@ MAPPING *dial-mapping* {VISUAL}["x](dial-decrement) *v_(dial-decrement)* An alternative to the existing CTRL-X command in VISUAL mode. -{VISUAL}["x]g(dial-increment) *v_g(dial-increment)* +{VISUAL}["x](dial-g-increment) *v_(dial-g-increment)* An alternative to the existing |v_g_CTRL-A| command in VISUAL mode. Its usage is similar to |v_(dial-increment)|, but the number of addends on line n, counting from the top, is increased by n * [count]. It @@ -1555,14 +1555,14 @@ MAPPING *dial-mapping* 10/03 < -{VISUAL}["x]g(dial-decrement) *v_g(dial-decrement)* +{VISUAL}["x](dial-g-decrement) *v_(dial-g-decrement)* An alternative to the existing |v_g_CTRL-X| command in VISUAL mode. -["x]g(dial-increment) *g(dial-increment)* +["x](dial-g-increment) *(dial-g-increment)* Almost the same as |(dial-increment)|, but but the behavior differs during dot repeating. See |dial-additive-dot-repeating|. -["x]g(dial-decrement) *g(dial-decrement)* +["x](dial-g-decrement) *(dial-g-decrement)* Almost the same as |(dial-decrement)|, but but the behavior differs during dot repeating. See |dial-additive-dot-repeating|. diff --git a/plugin/dial.lua b/plugin/dial.lua new file mode 100644 index 0000000..8428c98 --- /dev/null +++ b/plugin/dial.lua @@ -0,0 +1,18 @@ +if vim.fn.exists "g:loaded_dial" then + return +end + +local cpo = vim.o.cpoptions +vim.cmd [[set cpo&vim]] + +vim.keymap.set("n", "(dial-increment)", require("dial.map").inc_normal()) +vim.keymap.set("n", "(dial-decrement)", require("dial.map").dec_normal()) +vim.keymap.set("n", "(dial-g-increment)", require("dial.map").inc_gnormal()) +vim.keymap.set("n", "(dial-g-decrement)", require("dial.map").dec_gnormal()) +vim.keymap.set("v", "(dial-increment)", require("dial.map").inc_visual() .. "gv") +vim.keymap.set("v", "(dial-decrement)", require("dial.map").dec_visual() .. "gv") +vim.keymap.set("v", "(dial-g-increment)", require("dial.map").inc_gvisual() .. "gv") +vim.keymap.set("v", "(dial-g-decrement)", require("dial.map").dec_gvisual() .. "gv") + +vim.o.cpoptions = cpo +vim.g.loaded_dial = 1 diff --git a/plugin/dial.vim b/plugin/dial.vim deleted file mode 100644 index 7cfed5a..0000000 --- a/plugin/dial.vim +++ /dev/null @@ -1,23 +0,0 @@ -if exists('g:loaded_dial') | finish | endif " prevent loading file twice - -let s:save_cpo = &cpo " save user coptions -set cpo&vim " reset them to defaults - -lua << EOF -vim.keymap.set("n", "(dial-increment)", require("dial.map").inc_normal()) -vim.keymap.set("n", "(dial-decrement)", require("dial.map").dec_normal()) -vim.keymap.set("n", "g(dial-increment)", require("dial.map").inc_gnormal()) -vim.keymap.set("n", "g(dial-decrement)", require("dial.map").dec_gnormal()) -vim.keymap.set("v", "(dial-increment)", require("dial.map").inc_visual() .. "gv") -vim.keymap.set("v", "(dial-decrement)", require("dial.map").dec_visual() .. "gv") -vim.keymap.set("v", "g(dial-increment)", require("dial.map").inc_gvisual() .. "gv") -vim.keymap.set("v", "g(dial-decrement)", require("dial.map").dec_gvisual() .. "gv") -EOF - -command! -range -nargs=? DialIncrement lua require"dial.command".command("increment", {from = , to = }, {}) -command! -range -nargs=? DialDecrement lua require"dial.command".command("decrement", {from = , to = }, {}) - -let &cpo = s:save_cpo " and restore after -unlet s:save_cpo - -let g:loaded_dial = 1