ayamir / nvimdots

A well configured and structured Neovim.
BSD 3-Clause "New" or "Revised" License
2.82k stars 450 forks source link

skip lines when executing multiple macro operations #1255

Closed jwangtobeno1 closed 1 month ago

jwangtobeno1 commented 1 month ago

Version confirmation

Following prerequisites

Not a user config issue

Neovim version

NVIM v0.9.5

Operating system/version

Arch WSL2

Terminal name/version

WSL2

$TERM environment variable

No response

Branch info

main (Default/Latest)

Fetch Preferences

SSH (use_ssh = true)

How to reproduce the issue

For example, the file content is :

127
63
95
31
111
47
79
15
119
55
87
23
103
39
71

macro a is

image

when I execute: 10@a:

PixPin_2024-05-09_15-51-00

But it's correct in vim.

PixPin_2024-05-09_15-52-44

Expected behavior

No line skipping when exec macros.

Actual behavior

No response

Additional information

No response

ayamir commented 1 month ago

Can't repro for me.

https://github.com/ayamir/nvimdots/assets/61657399/21c0e442-8586-45d9-a54d-e92a86af9da1

jwangtobeno1 commented 1 month ago

uh......

This problem occurs once n in n@a is greater than 7

ayamir commented 1 month ago

Yes, I'm also on Arch WSL2 with latest main branch.

jwangtobeno1 commented 1 month ago

After uninstalling and reinstalling neovim, the problem persists, and the macros are still there after uninstalling and reinstalling.

jwangtobeno1 commented 1 month ago

when macro a is:

PixPin_2024-05-10_19-08-36

just exec @a it gives me an error

223

jwangtobeno1 commented 1 month ago

when I mv ~/.config/nvim ~/.config/nvim.bak

this problem no longer exists.

this is my settings:

local settings = {}

-- Examples
settings["use_ssh"] = true

settings["colorscheme"] = "catppuccin"

settings["lsp_deps"] = {
    "verible",
}

settings["null_ls_deps"] = function(defaults)
    return {
        defaults[1],
        defaults[4],
        defaults[5],
        defaults[6],
        defaults[7],
    }
end

settings["dap_deps"] = function(defaults)
    return {
        defaults[1],
        defaults[3],
    }
end

return settings
jwangtobeno1 commented 1 month ago

After :checkhealth :

==============================================================================
hop: require("hop.health").check()

Ensuring keys are unique ~
- OK Keys are unique

Checking for deprecated features ~
- OK All good

==============================================================================
lazy: require("lazy.health").check()

lazy.nvim ~
- OK Git installed
- OK no existing packages found by other package managers
- OK packer_compiled.lua not found

==============================================================================
mason: require("mason.health").check()

mason.nvim ~
- OK mason.nvim version v1.10.0
- OK PATH: prepend
- OK Providers: 
  mason.providers.registry-api
  mason.providers.client
- OK neovim version >= 0.7.0

mason.nvim [Registries] ~
- OK Registry `github.com/mason-org/mason-registry version: 2024-05-10-next-cactus` is installed.

mason.nvim [Core utils] ~
- OK unzip: `UnZip 6.00 of 20 April 2009, by Info-ZIP.  Maintained by C. Spieler.  Send`
- OK wget: `GNU Wget 1.24.5 built on linux-gnu.`
- OK curl: `curl 8.7.1 (x86_64-pc-linux-gnu) libcurl/8.7.1 OpenSSL/3.3.0 zlib/1.3.1 brotli/1.1.0 zstd/1.5.5 libidn2/2.3.7 libpsl/0.21.5 libssh2/1.11.0 nghttp2/1.61.0 nghttp3/1.2.0`
- OK gzip: `gzip 1.13`
- OK tar: `tar (GNU tar) 1.35`
- OK bash: `GNU bash, version 5.2.26(1)-release (x86_64-pc-linux-gnu)`
- OK sh: `Ok`

mason.nvim [Languages] ~
- WARNING Go: not available
  - ADVICE:
    - spawn: go failed with exit code - and signal -. go is not executable
- WARNING Composer: not available
  - ADVICE:
    - spawn: composer failed with exit code - and signal -. composer is not executable
- WARNING PHP: not available
  - ADVICE:
    - spawn: php failed with exit code - and signal -. php is not executable
- WARNING luarocks: not available
  - ADVICE:
    - spawn: luarocks failed with exit code - and signal -. luarocks is not executable
- WARNING Ruby: not available
  - ADVICE:
    - spawn: ruby failed with exit code - and signal -. ruby is not executable
- WARNING javac: not available
  - ADVICE:
    - spawn: javac failed with exit code - and signal -. javac is not executable
- WARNING RubyGem: not available
  - ADVICE:
    - spawn: gem failed with exit code - and signal -. gem is not executable
- OK node: `v21.7.3`
- WARNING java: not available
  - ADVICE:
    - spawn: java failed with exit code - and signal -. java is not executable
- OK cargo: `cargo 1.74.0-nightly (925280f02 2023-08-25)`
- WARNING julia: not available
  - ADVICE:
    - spawn: julia failed with exit code - and signal -. julia is not executable
- OK npm: `10.7.0`
- OK python: `Python 3.12.3`
- OK pip: `pip 24.0 from /usr/lib/python3.12/site-packages/pip (python 3.12)`
- OK python venv: `Ok`

mason.nvim [GitHub] ~
- OK GitHub API rate limit. Used: 4. Remaining: 56. Limit: 60. Reset: Fri 10 May 2024 08:36:10 PM CST.
  Install and authenticate via gh-cli to increase rate limit.

==============================================================================
null-ls: require("null-ls.health").check()

- OK clang_format: the command "clang-format" is executable.
- OK prettier: the command "prettier" is executable.
- OK verible_verilog_format: the command "verible-verilog-format" is executable.
- OK vint: the command "vint" is executable.
- OK shfmt: the command "shfmt" is executable.
- OK stylua: the command "stylua" is executable.

==============================================================================
nvim: require("nvim.health").check()

Configuration ~
- OK no issues found

Runtime ~
- OK $VIMRUNTIME: /usr/share/nvim/runtime

Performance ~
- OK Build type: Release

Remote Plugins ~
- WARNING "wilder.nvim" is not registered.
- WARNING Out of date
  - ADVICE:
    - Run `:UpdateRemotePlugins`

terminal ~
- key_backspace (kbs) terminfo entry: `key_backspace=^H`
- key_dc (kdch1) terminfo entry: `key_dc=\E[3~`

==============================================================================
nvim-treesitter: require("nvim-treesitter.health").check()

Installation ~
- WARNING `tree-sitter` executable not found (parser generator, only needed for :TSInstallFromGrammar, not required for :TSInstall)
- OK `node` found v21.7.3 (only needed for :TSInstallFromGrammar)
- OK `git` executable found.
- OK `cc` executable found. Selected from { vim.NIL, "cc", "gcc", "clang", "cl", "zig" }
  Version: cc (GCC) 14.1.1 20240507
- OK Neovim was compiled with tree-sitter runtime ABI version 14 (required >=13). Parsers must be compatible with runtime ABI.

OS Info:
{
  machine = "x86_64",
  release = "5.15.146.1-microsoft-standard-WSL2",
  sysname = "Linux",
  version = "#1 SMP Thu Jan 11 04:09:03 UTC 2024"
} ~

Parser/Features         H L F I J
  - bash                ✓ ✓ ✓ . ✓
  - c                   ✓ ✓ ✓ ✓ ✓
  - cpp                 ✓ ✓ ✓ ✓ ✓
  - css                 ✓ . ✓ ✓ ✓
  - go                  ✓ ✓ ✓ ✓ ✓
  - gomod               ✓ . . . ✓
  - html                ✓ ✓ ✓ ✓ ✓
  - javascript          ✓ ✓ ✓ ✓ ✓
  - json                ✓ ✓ ✓ ✓ .
  - latex               ✓ . ✓ . ✓
  - lua                 ✓ ✓ ✓ ✓ ✓
  - make                ✓ . ✓ . ✓
  - markdown            ✓ . ✓ ✓ ✓
  - markdown_inline     ✓ . . . ✓
  - python              ✓ ✓ ✓ ✓ ✓
  - rust                ✓ ✓ ✓ ✓ ✓
  - typescript          ✓ ✓ ✓ ✓ ✓
  - vimdoc              ✓ . . . ✓
  - vue                 ✓ . ✓ ✓ ✓
  - yaml                ✓ ✓ ✓ ✓ ✓

  Legend: H[ighlight], L[ocals], F[olds], I[ndents], In[j]ections
         +) multiple parsers found, only one will be used
         x) errors found in the query, try to run :TSUpdate {lang} ~

==============================================================================
provider: health#provider#check

Clipboard (optional) ~
- OK Clipboard tool found: win32yank-wsl

Python 3 provider (optional) ~
- Using: g:python3_host_prog = "python3"
- Executable: /usr/sbin/python3
- Python version: 3.12.3
- pynvim version: 0.5.0
- OK Latest pynvim is installed.

Python virtualenv ~
- OK no $VIRTUAL_ENV

Ruby provider (optional) ~
- WARNING `ruby` and `gem` must be in $PATH.
  - ADVICE:
    - Install Ruby and verify that `ruby` and `gem` commands work.

Node.js provider (optional) ~
- Node.js: v21.7.3
- WARNING Missing "neovim" npm (or yarn, pnpm) package.
  - ADVICE:
    - Run in shell: npm install -g neovim
    - Run in shell (if you use yarn): yarn global add neovim
    - Run in shell (if you use pnpm): pnpm install -g neovim
    - You may disable this provider (and warning) by adding `let g:loaded_node_provider = 0` to your init.vim

Perl provider (optional) ~
- WARNING "Neovim::Ext" cpan module is not installed
  - ADVICE:
    - See :help |provider-perl| for more information.
    - You may disable this provider (and warning) by adding `let g:loaded_perl_provider = 0` to your init.vim

==============================================================================
rainbow-delimiters: require("rainbow-delimiters.health").check()

Custom strategies ~
- OK Valid custom default strategy.
- ERROR No parser installed for 'vim'
- OK Valid custom strategy for 'c'.
- OK Valid custom strategy for 'lua'.
- OK Valid custom strategy for 'cpp'.
- OK Valid custom strategy for 'vimdoc'.

Custom queries ~
- OK Valid custom default query
- OK Valid custom query for 'javascript'
- OK Valid custom query for 'latex'

Custom highlight groups ~
- OK Highlight group 'RainbowDelimiterRed' defined.
- OK Highlight group 'RainbowDelimiterOrange' defined.
- OK Highlight group 'RainbowDelimiterYellow' defined.
- OK Highlight group 'RainbowDelimiterGreen' defined.
- OK Highlight group 'RainbowDelimiterBlue' defined.
- OK Highlight group 'RainbowDelimiterCyan' defined.
- OK Highlight group 'RainbowDelimiterViolet' defined.

==============================================================================
vim.lsp: require("vim.lsp.health").check()

- LSP log level : WARN
- Log path: /home/gandalf/.local/state/nvim/lsp.log
- Log size: 46701 KB

vim.lsp: Active Clients ~
- No active clients

==============================================================================
vim.treesitter: require("vim.treesitter.health").check()

- Nvim runtime ABI version: 14
- OK Parser: bash       ABI: 14, path: /home/gandalf/.local/share/nvim/site/lazy/nvim-treesitter/parser/bash.so
- OK Parser: c          ABI: 14, path: /home/gandalf/.local/share/nvim/site/lazy/nvim-treesitter/parser/c.so
- OK Parser: cpp        ABI: 14, path: /home/gandalf/.local/share/nvim/site/lazy/nvim-treesitter/parser/cpp.so
- OK Parser: css        ABI: 14, path: /home/gandalf/.local/share/nvim/site/lazy/nvim-treesitter/parser/css.so
- OK Parser: go         ABI: 14, path: /home/gandalf/.local/share/nvim/site/lazy/nvim-treesitter/parser/go.so
- OK Parser: gomod      ABI: 14, path: /home/gandalf/.local/share/nvim/site/lazy/nvim-treesitter/parser/gomod.so
- OK Parser: html       ABI: 14, path: /home/gandalf/.local/share/nvim/site/lazy/nvim-treesitter/parser/html.so
- OK Parser: javascript ABI: 14, path: /home/gandalf/.local/share/nvim/site/lazy/nvim-treesitter/parser/javascript.so
- OK Parser: json       ABI: 14, path: /home/gandalf/.local/share/nvim/site/lazy/nvim-treesitter/parser/json.so
- OK Parser: latex      ABI: 14, path: /home/gandalf/.local/share/nvim/site/lazy/nvim-treesitter/parser/latex.so
- OK Parser: lua        ABI: 14, path: /home/gandalf/.local/share/nvim/site/lazy/nvim-treesitter/parser/lua.so
- OK Parser: make       ABI: 13, path: /home/gandalf/.local/share/nvim/site/lazy/nvim-treesitter/parser/make.so
- OK Parser: markdown   ABI: 14, path: /home/gandalf/.local/share/nvim/site/lazy/nvim-treesitter/parser/markdown.so
- OK Parser: markdown_inline ABI: 14, path: /home/gandalf/.local/share/nvim/site/lazy/nvim-treesitter/parser/markdown_inline.so
- OK Parser: python     ABI: 14, path: /home/gandalf/.local/share/nvim/site/lazy/nvim-treesitter/parser/python.so
- OK Parser: rust       ABI: 14, path: /home/gandalf/.local/share/nvim/site/lazy/nvim-treesitter/parser/rust.so
- OK Parser: typescript ABI: 14, path: /home/gandalf/.local/share/nvim/site/lazy/nvim-treesitter/parser/typescript.so
- OK Parser: vimdoc     ABI: 14, path: /home/gandalf/.local/share/nvim/site/lazy/nvim-treesitter/parser/vimdoc.so
- OK Parser: vue        ABI: 14, path: /home/gandalf/.local/share/nvim/site/lazy/nvim-treesitter/parser/vue.so
- OK Parser: yaml       ABI: 13, path: /home/gandalf/.local/share/nvim/site/lazy/nvim-treesitter/parser/yaml.so

==============================================================================
which-key: require("which-key.health").check()

WhichKey: checking conflicting keymaps ~
- WARNING conflicting keymap exists for mode **"n"**, lhs: **"gc"**
- rhs: `<Plug>(comment_toggle_linewise)`
- WARNING conflicting keymap exists for mode **"n"**, lhs: **"ge"**
- rhs: ` `
- WARNING conflicting keymap exists for mode **"n"**, lhs: **"gb"**
- rhs: `<Plug>(comment_toggle_blockwise)`
- WARNING conflicting keymap exists for mode **"n"**, lhs: **"t"**
- rhs: ` `
jwangtobeno1 commented 1 month ago

This problem was solved by reinstall nvimdots, but occur a new problem:

tree-sitter CLI not found:tree-sitteris not executable

But the problem still exists after installing tree-sitter with reference [https://github.com/ayamir/nvimdots/wiki/Prerequisites#optional-packages]

image

jwangtobeno1 commented 1 month ago

ok. all problems were solved.