krisajenkins / evil-tabs Goto Github PK
View Code? Open in Web Editor NEWIntegrating Vim-style tabs for Evil mode users.
License: MIT License
Integrating Vim-style tabs for Evil mode users.
License: MIT License
When a window has evil-tabs' tab bar at the top, scroll-preserve-screen-position
loses track of the line number.
(setq scroll-preserve-screen-position 'always)
for example 3gt
will switch to 3rd tab.
After installing evil-tabs, if I start a fresh emacs, and execute global-evil-tabs-mode
, I get the following message:
Wrong type argument:consp nil
I suspect this is related to elscreen, since trying to get that to load in itself fails too, but I'm not sure how to diagnose or fix this.
Hi, I'm using evil mode with dvorak layout so I have few remaps related to that.
Everything works like a charm, but when I enable global evil tabs mode it discards
my configuration related to dired. Do you have any idea if i can make workaround that?
Thank you!
Here is my dired related configuration: https://github.com/Gonzih/.emacs.d/blob/master/evil-config/evil-dvp.el#L78-L89
Hi
I would suggest adding some more details to the readme (possibly a screenshot) to make it more immediately obvious what this package accomplishes. Currently, new users are forced to guess at the functionality (that it probably emulates vim tabs exactly).
As a user, when starting the program, I get:
Warning (initialization): An error occurred while loading `/Users/username/.emacs.d/init.el':
Wrong type argument: consp, nil
I have:
(require 'evil-tabs)
(global-evil-tabs-mode t)
in my init.el
If you open multiple windows inside a tab, i.e.,
:tabnew
:vsplit
:split
and try to close a single window with ":q" you end up closing the whole tab. This differs from the behavior of Vim where only the current window is closed. Currently as a workaround I added
(evil-define-command evil-tab-sensitive-quit (&optional bang)
:repeat nil
(interactive "<!>")
(if (> (length (elscreen-get-screen-list)) 1)
(if (> (count-window) 1)
(evil-quit)
(elscreen-kill))
(evil-quit bang)))
to my initfile. It should probably be investigated whether this is enough.
Hi, just installing this package following README.md instructions I get an error on startup:
Debugger entered--Lisp error: (wrong-type-argument consp nil)
byte-code("\304^H>\305^Y^Z ^H\235\204^S^@\n \nAB\241\210*\306\307\310\"\210\311\312^K\313\"\314\315\316\315!B\317$\207" [mode-line-format elscreen-mode-line-elm point global-map mode-line-position (elscreen-display-$
require(elscreen)
eval-buffer(#<buffer *load*-393180> nil "/Users/antares/.emacs.d/elpa/evil-tabs-20160217.720/evil-tabs.el" nil t) ; Reading at buffer position 545
load-with-code-conversion("/Users/antares/.emacs.d/elpa/evil-tabs-20160217.720/evil-tabs.el" "/Users/antares/.emacs.d/elpa/evil-tabs-20160217.720/evil-tabs.el" nil t)
(global-evil-tabs-mode t)
eval-buffer(#<buffer *load*> nil "/Users/antares/.emacs.d/init.el" nil t) ; Reading at buffer position 19016
load-with-code-conversion("/Users/antares/.emacs.d/init.el" "/Users/antares/.emacs.d/init.el" t t)
load("/Users/antares/.emacs.d/init" t t)
#[0 "^H\205\262^@ \306=\203^Q^@\307^H\310Q\202;^@ \311=\204^^^@\307^H\312Q\202;^@\313\307\314\315#\203*^@\316\202;^@\313\307\314\317#\203:^@\320\nB^R\321\202;^@\316\322^S\323^A\322\211#\210^K\322=\203a^@\324\325\326\307^H$
command-line()
normal-top-level()
Let me know if you need more info, thanks.
IANAL, but as it stands, it's probably illegal to use the package. Could you add a license, preferably a GPL3-compatible one or even GPL3 itself to comply with Emacs license, so that it becomes legal?
That's the way Vim works. We need to intercept evil's ":q".
Evil tabs auto completes relative file paths properly but when you try opening a file using a relative path, emacs opens the file relative to the home dir. Maybe my config is wrong but I tried disabling everything but evil tabs and same issue.
I noticed a while ago that when first entering certain modes, the evil-state
is unset and evil keybindings aren't available. If I exited those modes and then re-entered, evil keybindings would start working.
I eliminated everything in my emacs configuration, and was able to reproduce the issue with just evil-tabs
. I'm not very familiar with elisp
, so I'm not sure what is causing the issue.
Here's the minimum configuration that reproduces the issue:
(require 'package)
(package-initialize)
(require 'evil)
(evil-mode 1)
(require 'evil-tabs)
(global-evil-tabs-mode)
All packages have been installed using package.el
using melpa
, and they're all up to date as of now.
Once emacs launches, if I use C-h f
to describe any function, and then C-w C-w
to switch to the help window, evil keybindings are unavailable.
If I C-h v
to check he value of evil-state
I get:
evil-state is a variable defined in `evil-vars.el'.
Its value is nil
Local in buffer *Help*; global value is the same.
At that point, after executing C-h v
to check the value of evil-state
, evil keybindings start working and if I check evil-state
's value again I get:
evil-state is a variable defined in `evil-vars.el'.
Its value is normal
Local in buffer *GNU Emacs*; global value is nil
If I comment out (global-evil-tabs-mode)
in my configuration, the issue is gone.
I've noticed this issue in both help-mode
and package-list-mode
, the latter of which I've changed to motion
as it's initial evil state in my real emacs configuration.
I'm running GNU Emacs 24.4.1, and I've had this issue on both mac and linux.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.