Не удалось найти основанный на linux SQL beautifier для передачи моих mySQL-фрагментов, я соглашусь просто начислить свой код mySQL. Я хочу, чтобы превратить это:Используйте плагин Tabularize vim, чтобы соответствовать только первому обнаружению разделителя
CREATE TABLE IF NOT EXISTS GROUP
(
ID INT NOT NULL AUTO_INCREMENT,
GROUPNAME VARCHAR(15) UNIQUE,
ACTIVE BOOLEAN DEFAULT TRUE,
PRIMARY KEY(ID)
)ENGINE=InnoDB
в этом
CREATE TABLE IF NOT EXISTS GROUP
(
ID INT NOT NULL AUTO_INCREMENT,
GROUPNAME VARCHAR(15) UNIQUE,
ACTIVE BOOLEAN DEFAULT TRUE,
PRIMARY KEY(ID)
)ENGINE=InnoDB
Но если я :Tabularize /\
я получаю
CREATE TABLE IF NOT EXISTS GROUP
(
ID INT NOT NULL AUTO_INCREMENT,
USERID INT NOT NULL,
GROUPNAME VARCHAR(15) UNIQUE,
ACTIVE BOOLEAN DEFAULT TRUE,
PRIMARY KEY(ID),
FOREIGN KEY (USERID) REFERENCES USER(ID)
)ENGINE=InnoDB
Как выровнять только на первом пространстве после идентификатора (или в качестве альтернативы, где я могу найти командную строку SQL beautifier =)?
Спасибо. Хотя это не в моем вопросе, я поместил это переназначение в мой .vimrc-файл, чтобы быстро выравнивать столбцы с 2-мя элементами сапса путем визуального выбора строк и ввода ' mal' (' M'ysql 'AL'ign)' vnoremap mal: Tabularize/^ \ s * \ w */l2 ' –
puk
Вот и все, @puk. И, к сожалению, я, очевидно, пропустил пробел в 2 пробела. Кроме того, если вы всегда будете делать это на отступы, вы можете использовать '/^\ s \ + \ w \ +', что уменьшит количество неправильных угадываемых строк. Тогда вы можете применить его без визуального выбора в первую очередь и сохранить несколько нажатий клавиш :-) – sidyll
Спасибо за отзыв, но он не будет работать для создания таблиц mySQL. B/c. Я хочу выровнять столбцы, ну, столбцы (т.е. 'ID',' GROUPNAME', 'ACTIVE'), но не для других ключевых слов, таких как' PRIMARY KEY' и 'FOREIGN KEY' – puk